To Xojo or not to Xojo?

  1. 2 weeks ago

    That is the question.

    I've been testing Xojo in a very limited way for a couple months now. Tried building various test apps both web & desktop to get a feel for how things work. In part I'm waiting for Web 2.0. I've been reading a lot - blogs and posts and what not. Seems like Xojo is in a bit of an existential crisis these days - or at least many or most of it's long time expert developers are. And the main point of contention seems to be the renaming of events in API 2.0. Why on Earth wouldn't Xojo put out this fire and allow both old and new event names to coexist somehow? As a potential customer it affects me directly since I'll need some (or perhaps, many) of those add-ons. Add the third-party providers seem to be holding off on moving to API 2.0. This then becomes a big problem for me too. I can live with API 1.0 for any desktop stuff that I might do, but mostly I'm doing database web apps. The bottom line for me is, Xojo looks interesting, but I'm pretty-much on hold. Web 2.0 and third-party tools are a must. And right now, neither is happening. Xojo might wish to consider how alienating a huge part of its user-base is helpful. Seems counter-productive to me at least.

  2. Thom M

    Oct 30 Pre-Release Testers Greater Hartford Area, CT

    They can coexist. The problem is backwards compatibility. It's basically impossible to support API 1 and API 2 in a single class. Deprecation warnings aside, the event names are the big problem. If I code a control to use the Open event - which I have to in order to remain backwards compatible - and a user of my control implements the Opening event, then my Open event will never fire and my control appears broken. I can't tell users to not use the Opening event because a) they won't listen and b) for new projects in 2019r2 and newer, the old event names are not even an option. There's also no way to detect this problem.

    So for a lot of us, we're in a bad spot. I personally am going to be getting out of the third-party control market. I know other developers are trying to figure out what their game plan is.

    There's nothing really wrong with Xojo or these changes. But they hurt the third party ecosystem in very serious ways, and that in turn hurts the options available to users. But I don't think you'd have any better or worse time developing with Xojo today than you did a couple months ago. The complaints you're seeing come mostly from us developing for the third-party ecosystem.

  3. Julian S

    Oct 30 Pre-Release Testers, Xojo Pro UK

    A few people (probably new to coding) might have mentioned in passing that "Open" was "confusing" so now we have "Opening" and 5-10 years of usable code, examples, plugins, tutorials, books and videos are now pretty much useless.

    Depending on how big the backlash/mob gets will depend on the path taken after the fact rather than a well planned, discussed path set out before hand.

    Welcome to Xojo where the needs of the few outweigh the needs of the many.

  4. Louis D

    Oct 30 Pre-Release Testers, Xojo Pro QC, Canada

    A few people (probably new to coding) might have mentioned in passing that "Open" was "confusing" so now we have "Opening"

    This argument was used several times. No matter how often it is repeated, I cannot see how it can be a justification. It is almost as if we were to say that this year, trucks in the UK will drive on the right side of the road, because some tourists are confused. And if all goes well, next year, cars will follow suit.

  5. Ivan T

    Oct 30 Pre-Release Testers

    @LouisDesjardins This argument was used several times. No matter how often it is repeated, I cannot see how it can be a justification. It is almost as if we were to say that this year, trucks in the UK will drive on the right side of the road, because some tourists are confused. And if all goes well, next year, cars will follow suit.

    Well, that's pretty much it, but with all the current Traffic Signs left in place alongside with the new ones.

    (as Julian said with the "5-10 years of usable code, examples, plugins, tutorials, books and videos are now pretty much useless")

  6. Emile S

    Oct 30 Europe (France, Strasbourg)

    @LouisDesjardins this year, trucks in the UK will drive on the right side of the road

    At last ! Yeah ! Yeah ! Yeah !

    No, just kidding, sorry.

  7. Markus R

    Oct 30 Pre-Release Testers, Xojo Pro Europe / Germany

    @Julian S "Open" was "confusing" so now we have "Opening"

    btw a hint would have the same effect without renaming.
    + the ide show 30cm empty space behind the Open name at my screen.
    + its possible to make a tooltip there
    + the contents treeview can have a tooltip
    example

    'Open Event means the Window will be open soon
    Sub Open() Handles Open
      
    End Sub
  8. Markus W

    Oct 30 #JeSuisHuman New Zealand, Auc...

    @LouisDesjardins It is almost as if we were to say that this year, trucks in the UK will drive on the right side of the road, because some tourists are confused. And if all goes well, next year, cars will follow suit.

    Oh that‘s brilliant :-)

  9. Markus R

    Oct 30 Pre-Release Testers, Xojo Pro Europe / Germany

    trucks in the UK will drive on the right side of the road

    btw "Euro Truck Simulator 2 Essentials" is at steam offer. its fun to drive at the other side.

  10. Emile S

    Oct 31 Europe (France, Strasbourg)

    @Markus R its fun to drive at the other side.

    Be careful, when back in your can, to reset your brain and drive i the right way… ;)

  11. Jeff T

    Oct 31 Pre-Release Testers Midlands of England, Europe

    and a user of my control implements the Opening event, then my Open event will never fire and my control appears broken

    OK. Sorry if this is naive, but surely the answer is to keep Open (but de-emphasise it)?
    If it exists, allow it to fire, BEFORE the Opening event.
    (if Open confuses someone, fine, don't use it.)

  12. Markus R

    Oct 31 Pre-Release Testers, Xojo Pro Europe / Germany

    @Thom M and a user of my control implements the Opening event, then my Open event will never fire and my control appears broken.

    that issue should Xojo Devs care and solve.

  13. Wayne G

    Oct 31 Pre-Release Testers, Xojo Pro New Zealand axisdirect.nz

    I also implemented the "New" API in a big way and have had to rewrite a large number of routines due to the implementation of API2. However I've also deprecated a heap of stuff I wrote to "fix" API1. Things like raising exceptions on database errors, beginswith & endswith, date conversions between database field datevalues & Xojo.Core.Dates (which were a great improvement on Global.Date).

    I can see the issue of 3rd party controls re Open & Opening & wish that Xojo had treated these ala constructors of sub classes and called the Open handler method from opening by default.

    To me API2 is like a reno of a kitchen - it does the same job but it's new & refreshed.

  14. Thom M

    Oct 31 Pre-Release Testers Greater Hartford Area, CT

    @Wayne G I also implemented the "New" API in a big way and have had to rewrite a large number of routines due to the implementation of API2. However I've also deprecated a heap of stuff I wrote to "fix" API1. Things like raising exceptions on database errors, beginswith & endswith, date conversions between database field datevalues & Xojo.Core.Dates (which were a great improvement on Global.Date).

    I can see the issue of 3rd party controls re Open & Opening & wish that Xojo had treated these ala constructors of sub classes and called the Open handler method from opening by default.

    To me API2 is like a reno of a kitchen - it does the same job but it's new & refreshed.

    Agreed, there is a lot of good in API 2. I too removed a lot of code from my app that was no longer necessary, along similar lines. I had IndexOf, SubString, BeginsWith, EndsWith, database exceptions, and even a class to allow iteration of Dictionary. Plus I’m sure others I’m forgetting. All code I no longer need.

  15. Tomas J

    Oct 31 Pre-Release Testers, Xojo Pro Europe (Germany)
    Edited 2 weeks ago

    @Peter G existential crisis

    woooow.... in german we say "keep the church in the village" meaning do not exaggerate!
    Regarding API 2.0 the first projects switched seamless to the new API. Of course you need some time to go through your code. But as far regarding to my projects I haven't seen any showstopper yet.

  16. Ivan T

    Oct 31 Pre-Release Testers

    @Jeff T If it exists, allow it to fire, BEFORE the Opening event.

    So you can have two diferent events firing with diferent code causing even more confusion?

    @Markus R that issue should Xojo Devs care and solve.

    Maybe the should handle this and dont allow to add an event if the counterpart is already in place in the class or any super.

  17. Maximilian T

    Oct 31 Pre-Release Testers, Xojo Pro Europe, Germany, Berlin
    Edited 2 weeks ago

    So Peter, in your shoes I wouldn't be too intimidated by the API criticism. Most developers can both safely ignore API 2.0 or just use it in fresh projects. If you don't need to support older Xojo Versions (like many 3rd party addon-providers do) or need to convert huge projects to API 2.0 for whatever reason you will be well off using Xojo.
    It's considered cool to bash Xojo these days for their API 2.0 introduction, but it's still a decent tool.

  18. Newer ›

or Sign Up to reply!