Musings on the Xojo Framework

The Xojo framework was first introduced with Xojo 2014 Release 3 (December of 2014).  That’s when iOS was added as a target to Xojo.  Since it’s initial release it’s received plenty of bug fixes and some libraries have been added to the desktop, web, and console targets that use the new framework.  But it sure seems like there hasn’t been much news about the new framework.

If I go back into my archives and what I’ve reported from past XDC’s we were told in March 2014 the new Xojo framework would come first to iOS with it’s own version and then to console, web, and finally to desktop apps.  At the time I took that to mean that they’d be a replacement to the old global framework but, in retrospect, it’s obvious that they meant what they had done for iOS would get introduced to those targets.  That meant that the core data types, Auto and Text and the core classes, MemoryBlock, Date, DateInterval, Dictionary, FolderItem, Crypto, and so on, were available for use.

Some things like the Xojo.Net.HTTPSocket are now the ONLY way to communicate with some servers because it can handle HTTP 1.1 and supports proxies which the old global HTTPSocket can’t do.  So for some things we are forced to use the new version.  For some it’s quite a change because the old global version could do things synchronously but the new version can ONLY do things asynchronously.  Using sockets from the new framework is not a simple proposition.

There are still huge swaths of functionality that is not available in the new framework and if you need it you’re forced to either develop it yourself, or to use one of the open source projects the Xojo community has released.  While the community has been generous this goes against the modus operandi of Xojo where they’ve provided all of the basic functionality.  This is particularly vexing for newbies that know there’s a new framework but need functionality not provided yet.  And as someone who has tried having global and Xojo frameworks working together it’s not very fun.

Because it appears we’re not seeing much progress, Xojo developers are starting to get nervous and asking questions.  Is the Xojo framework a bust and will Xojo be going in a different direction?  I’m hoping that both of these questions get answered in a couple of weeks in Denver at the annual Xojo Developers Conference (XDC).

We already know that Xojo Web 2.0 will be introduced at XDC 2018.  If it’s still using the old global framework I think it will call into serious question on whether or not the Xojo framework is viable.  I mean, if you’re going to the trouble of rewriting the web framework, why not make it use, exclusively, of the Xojo framework?  If it’s not, why not?  

Well also know that we’re getting some major news for Android for Xojo at XDC 2018.  Will it use the new Xojo framework?  If not it’s a clear sign that the Xojo framework is dead on arrival.  If it is but Web 2.0 is not again I have to ask why not?  Xojo then is sending out mixed messages as far as what the Xojo framework means to their future.

XDC 2018 is going to be an important one.  We’re going to learn about the progress on Web 2.0 and Android.  Hopefully we’ll have reasonably firm targets for releases.  As part of that I really want to know what the status of the Xojo framework is what the future brings for it.

Other topics that I hope to hear about:  plugins made in Xojo, and Interops

What are your thoughts about the Xojo framework?

4 thoughts on “Musings on the Xojo Framework

  1. The new framework is a bust for me. Can’t touch it. Every time I try to add some functionality from the new framework to GraffitiSuite, I get angry support tickets from customers because their version of Xojo doesn’t support X, or they now don’t know how to write code for Y. With the way Xojo has treated the new Framework, I have decided that I’m just not going to deal with it until I have no other choice.

    To be fair, there are a number ways I think the new framework is better. I was genuinely excited when we started down this path, partly because I saw it as a move toward making Xojo more modern and attractive, and partly because I could see the benefits of developing with it. Now, not so much. My enthusiasm has long since fizzled.

    That said, the old framework still works (for the most part) and still works well (with a few exceptions), so I’m OK with waiting until they either flip the switch or back away. I’ll be perfectly happy no matter which direction they choose: old framework or new.

    I, too, am looking forward to writing plugins with Xojo and Web 2.0 support. Some of the work I’ve done with GraffitiSuite Web Edition lately has been in preparation for Web 2.0, so I hopefully won’t be killing myself to update.

    I’m not sure what benefit I’ll see from Interops, partly out of ignorance. I’ve just not had the time to investigate.

  2. The new framework is the worst idea from Xojo – ever. This is just behind the idea of having 2 sets of documentation for the last 2 or 3 years.

    Now and then a product develops history. The code isn’t as beautiful as it should be. The result has warts and all. Now the developers have the grand idea: let’s make this more beautiful. What follows? Chaos. Lost productivity. We have seen this for Mozilla or Python. Years lost dithering around.

    Even worse than starting such a project is not finishing it.

    Those lovely folks at Xojo think that the new framework is only for new code. The old framework is dead when the first critical bug isn’t fixed there but only in the new framework.

    Also the new framework is just plain awful. Look at some random questions in the forum. The old framework (with all it’s warts) can be understood. The new framework is confusing as heck. Mixing together old framework and new one is even more confusing.

  3. I personally try to use the new framework wherever possible. I understand the displeasure of developers who have existing large projects. Updating is a very complex task. But when you start a completely new project, I think the “conversion” is limited. Every language grows with time. Let’s just look at you Swift. What happens structurally between the releases, I find astonishing and it is also connected with a learning curve. And in this learning curve I see an opportunity for all of us. Being open for new things. It is quite clear that a language developed over decades cannot completely renew itself within 2-3 years. That takes time. Patience is the magic word, I believe.
    What I think is necessary is to update the Xojo GUI, so that for example text properties of controls no longer use strings but text as data types.
    And where I really need action very much is the report engine. Sorry, Bob, I know you’re selling your own. But for users with no budget, the basic features of Xojos Reports should be reliable, free of bugs with slightly more basic features. I see BKeeney Shorts as a high-end user product. Let us give time and trust our beloved and sometimes cursed development environment.

Comments are closed.