Xojo for Javascript/Typescript

With a new article out by Stack Overflow highlighting some of the worst liked programming languages, I noticed that VB (our sister language) is very high in this list. As the the article states, the data set for this might have some issues, but it did bring something to mind.

With Javascript being one of the top used languages out there, would it be possible to program exclusively in Javascript inside Xojo. With a large portion of the younger developers focusing on Javascript, we could potentially see our community grow which would benefit us all.

I love the many things that the Xojo application does for me. I’m comfortable with the IDE, it removes much of the tedium of building a web application, I can develop all of it on my OSX system, it hides some of the necessary coding behind well built internal libraries and the Xojo Team is constantly working on new features.

I do not want to start a Basic vs Javascript language discussion, I simply would love to have options within my preferred IDE. :slight_smile:

Link to article


Do you have a link to this article? I’d love to peek!

You wouldn’t be able to use Javascript in Xojo other than custom controls with Xojo Web, which would still need to interact with the Xojo Script.

Just added it above…

I’m still trying to figure out in what universe VB got to be a “sister” language to Xojo. ???

There are some differences between Xojo and VB .NET, but they are not so far from each other.

I saw the same article earlier today and noticed the negative ranking for VB as well.

The engineering effort aside, what you suggest Robert is not unlike the original concept of .NET. A “universal” framework of functionality, which can be utilized by multiple languages - with the idea that our language “choice” was a syntax “life-style” choice. A very attractive idea to developers, in the beginning. It hooked me way back at beta2 (before 1.0 was released).

But I gotta say, after more than 15 years of all the choices you have in .NET (especially the last couple of years) - I love the simplicity of Xojo.

And where I think the Xojo model could really win over new people big time, is the Mobile platforms.

There’s tons of choice (.NET or otherwise) when it comes to building Web and Desktop apps, but the Mobile space still has some slim and not so pretty choices. Even the “universal” mobile tools like Xamarin (now Visual Studio 2017) that will build for iOS and Android - still requires lots of platform specific compromises.

I know Xojo isn’t all the way there yet with iOS (or Android), but I think it is potentially ahead of the curve on ease of language/tool transition (and learning curve) - which is very attractive to a truely pragmatic programmer, not to mention the companies paying the bills (because potentially things get done faster).

My 3 cents (Canadian exchange, eh).

@Eli Ott Granted that it’s a purely pedantic argument, but those of us who remember know that RealBASIC started out as a Mac only platform. Xojo’s language is, of course, a descendant of BASIC but that is the extent of any relation to VB (and particularly VB.net). The point of my making that argument is that disparagement of VB should not, in any way, reflect on Xojo.

I have worked VB .NET and Xojo. If somebody disparages VB .NET they will do the same with Xojo – because it is more or less the same (minus the underlying framework). Anything else is wishful thinking, but not very realistic.

Why can you not make your argument without attempting to disparage mine?

I made my argument:

And I added:

I have worked extensively on my jobs with VB .NET, C, Objective C, Swift, in earlier years Oberon, and recently Scala, and for the web with PHP (procedural and OOP) and JavaScript of course.

Out of personal interest in the last years I have learned Smalltalk (Pharo) and Self, and I have tried to learn Haskell (without success) and Erlang (with more success).

I recognize when programming languages are comparable.

@Scott Cadillac What Microsoft originally planned with the .Net framework is what I would want for Xojo (in my utopian world). I love the simplicity of Xojo and would not want that compromised, I just would like to grow our community with the newer/younger developers that have been taught (incorrectly) that VB and anything that smells like it is “bad”.

LOL, I didn’t see the VB vs Xojo discussion happening as I thought it was universally understood that Xojo syntax is very similar to Basic syntax. The fact that this discussion is happening sort of backs up thoughts of expanding to JS or something similar. :slight_smile:

I hear you Robert and I agree. I also fully support growing the community (I’m a newbie myself, of course).

You have a point. From my experience, most beginners learning JavaScript is an easy in to programming. And the fact that JavaScript is a C-syntax language is also attractive, because that potentially leads to understanding other c-syntax based languages like C#, C++, Java, Objective-C, Swift, etc.

And I understand that people outside of the Xojo-sphere, once they see the “basic” like syntax may balk at going any further.

Fortunately it wasn’t a problem for me, once I thought about it a little. Because aside from spending a lot of my professional time writing C# & JavaScript - I also write a ton of Transact-SQL. Which strangely enough is very similar in syntax and logic to Xojo (or VB for that matter).

Of course SQL is not what you might call a sexy language, but it’s darn powerful if used wisely. Just like Xojo.

So yes, having a sexy c-syntax option in Xojo like JavaScript or TypeScript would be ideal to help grab the attention of the uninitiated. I totally agree.

In the meantime, supporting and promoting the Mobile capabilities of Xojo, in my newbie opinion, will have to do to help bring in anyone from the c-syntax crowd.

It’s one of the reasons I’m here now.

I’m an “old timer”, been coding for 35 years (OMG!), so I look at things like these and just chuckle to myself about how “the more things change the more they remain the same”
Personally I know several of those now disused & disliked languages and the last time I had to touch one was about 15 years ago.
And to be honest I made a ton of money dealing with these unsexy staid legacy technologies.
IF I were to jump back into doing some of that I’d probably do Cobol work.
Why ?
Around here I can find jobs offering about $300 - $400 an hour doing it.
None of those others are even close to that - and to get close I WOULD have to relocate (which aint happening)

Just a different perspective

[quote=357050:@Robert Litchfield]@Scott Cadillac What Microsoft originally planned with the .Net framework is what I would want for Xojo (in my utopian world). I love the simplicity of Xojo and would not want that compromised, I just would like to grow our community with the newer/younger developers that have been taught (incorrectly) that VB and anything that smells like it is “bad”.

LOL, I didn’t see the VB vs Xojo discussion happening as I thought it was universally understood that Xojo syntax is very similar to Basic syntax. The fact that this discussion is happening sort of backs up thoughts of expanding to JS or something similar. :)[/quote]

Adding a new “front end” is a TON of work
First you need to have the grammar
Then you have to have a chunk of code that takes what code you write & parses it according to the grammar
And a chunk that takes that and spits out whatever intermediate code
Those two parts are most of a compiler in & of themselves

And there’s NO UI for anything yet - which is yet another chunk of work

Adding a choice of languages has come up before through the years
Its never been pursued

There is no doubt @Norman Palardy, that this would be a lot work.

Microsoft basically started from scratch when it came to designing and building .NET - and after more than 15 years (with almost unlimited resources) they’re still retooling to keep up with the latest trends. Then there’s the new Core Framework (another rebuild). It goes on and on.

Xojo may not be perfect, but it is an easy in when it comes to learning. Plus the ideologically of the IDE tool-chain and platform & deployment options are a ray of sanity in an otherwise overwhelming spiralling hot mess of sometimes undecipherable choices.

To me, sanity is also sexy :wink:

Keep up the good work!

I agree @Norman Palardy , the amount of work required to make this a reality is enormous, which is why this is in the “off-topic” section. :slight_smile:

Javascript has been around for about 22 years now, and is only gaining in popularity. According to the Octoverse, it is the most popular language by a staggering amount. I will quickly admit that I am not currently a highly skilled Javascript programmer, but I sure would love to expand into that arena within a protected bubble like Xojo provides. :slight_smile:

I love the fact that much of the UI can be built by “dragging-and-dropping” with Xojo. I love the fact that I can build for multiple platforms within one tool. And mostly, I love the fact that I only need one tool to accomplish what I need to. In order to match Xojo’s functionality in the Javascript world, I currently need multiple tools, multiple languages, code all the UI by hand and a whole lot of patience and time.

Recently I had to explain why I was using Xojo within my company to quickly build applications we needed. The part they got stuck on was why I wasn’t using Javascript (they really didn’t know what that meant…but it is the buzz) or C# (again the buzz), therefor finding additional developers might be very difficult or expensive. These are non-technical people asking questions outside their depth, but important questions to ask anyways.

Either way…I am very appreciative of the work that the Xojo team is doing to help Xojo become the best product it can be! :slight_smile:


I wrote a small 2 minute read on my blog about some language/syntax enhancements that could bridge the gap to the javascript/c family of developers. http://www.dev.1701software.com/blog/should-xojo-support-javascript

With regards to building web apps with JavaScript or C#.

JavaScript, as we all know, is a browser client-side language, so you don’t typically build a web app just in JavaScript. You typically need a lot of other languages and infrastructure to put it all together.

But with that said, JavaScript did start out as a server-side interpreted language, when used in conjunction with a webserver that supported it.

JavaScript’s popularity has mainly been kept alive because of our reliance on it in browsers (and you can now build some simple Desktop and Mobile apps with it). But for the most part, the Server-side aspect of JavaScript was not well known except way back in the days of Classic ASP, when Microsoft called it JScript.

More recently Server-side JavaScript has gained new popularity because of Node.js It’s actually a pretty cool implementation, from the sounds of it, and can do a lot of network centric things like be a stand-alone webserver and you can build web apps in it.

This may be what your colleague from work was referring to? Presumably without know it :wink:

But Node.js is all about writing scripts as far as I know. Aside from Visual Studio there may be some 3rd party or open-source IDE’s for it, but I doubt that any of them do much in the way of Xojo’s drag-and-drop features, including VS. So working in Node.js is probably much more time consuming to develop, relatively speaking. The learning curve is the easy part, if you already know some JavaScript.

Building web apps in C# on the other hand is a different story. It’s a valid question.

C# has a mature framework for building Webforms or MVC apps (as well as Web API, REST and other services, etc) and uses Microsoft’s Visual Studio. You can crank out some advanced functionality relatively quick. This is what I do for a living.

But achieving relatively quick in C# requires knowledge - lots of it. Depending on what you need, it’s either a steep learning curve or requires well-paid talent.

I’m going to take a wild guess and say that the reason this conversation at work started, was because someone wondered how they could scale-up one or more of your web applications?

If this is the case, then not anticipating scaling up from the beginning of the project is not an easy thing to fix afterwards - regardless of what the app was built in.

Disclaimer: I’m not familiar with Xojo Web apps or the Xojo “Cloud” (I’m here for the Desktop and Mobile goodies).

But maybe the Xojo Cloud is designed to scale automatically by just adding more servers? It’s worth asking, if you haven’t already. If it can, than the cost of those extra servers will be much less than extra staff.

Anyway, if you want to learn more about the principles of scaling a web app, let me know. I hope some of this helps.

My apologies for the long read and any wrong assumptions about your knowledge level.

All the best!

@Scott Cadillac In my situation, the question regarding Xojo came about not because of scaling, or expansion or anything important like that. The primary questioner wanted to show of their knowledge of IT buzz words and thought this would be a good opportunity to do so. When I responded with a technology this individual had not heard of, they then asked why it wasn’t built with the buzz words they did know (very Dilbert-esque).

This eventually did lead to a valid question from someone else which was, how can we support this application if I’m assigned to other work that keeps me from supporting what I built or if I decide to leave the company. Our community of Xojo developers is pretty small, and finding good VB developers who would be willing to work on this is very tough as well.

Again, to be clear, I’m not bashing Xojo in any way (I’m building a Web Application at the moment), just having some random thoughts. :slight_smile:


Likewise Robert, my intention is not to be negative about Xojo either.

I’m still pretty new, but I’m really enjoying the experience.

I’m here because I’m looking to expand my horizons beyond web development, so it’s nothing personal or critical when I say I’m not using Xojo Web.

But yeah, I can just picture that meeting. I’ve been there.

My employer and I go back almost 15 years (started as a contractor, until recently becoming an employee). Back in the beginning I was 1 of 5 or 6 dedicated MIS developers, supporting a staff of about 9,000.

Now we’re over at least 50 MIS developers with almost 20,000 employees (in 70+ countries), and I can’t count the number of times my top-level boss has said: “but what happens if Scott gets hit by a bus?”.

Of those 50, I’m sure more than 50% of them are also .NET developers, but that doesn’t matter.

My point is, the company just has to deal with the problem when the time comes. Because who’s to say, when it’s time to replace me - that any of the other capable devs in the company will have time? Because isn’t everyone already dedicated to some important project or another?

In my experience, the problem isn’t what language you chose to build with. It’s a staffing issue that the company is ultimately responsible for, not you.

Of course telling management that is not easy. But the smart ones get it (hopefully you have a few of those).

With that said though, a saving grace on your part will be to make sure you comment and/or document your work thoroughly. :slight_smile:

.NET and C# may be very popular and prevalent, but I can tell you it’s still not easy finding good people. Even for big companies like us where at least a third of us developers are remote telecommuters.

Good luck!