There was a poll some weeks ago and it looks like that Xojo has more “windows only” developpers than mac ones. But since the xojo team works on Mac, that is their main focus. For example, last release they make a lot of fuss about new improvements on the IDE… Didnt work on windows Also, some components on windows are NOT native, like some dialogs, tooltips, etc. Dont even hd the system colors nor the button layout.
That is right, the showstoppers from someone are not the same to others, just Read the forums, test the IDE, its capabilities and limitations to decide.
I only develop for Windows, on Windows. I develop business apps for it for our company. I would say, yes, Xojo has put more focus on Mac/iOS and Windows needs to be given some significant attention.
Having said that, I am happy with it and have encountered no show-stoppers preventing me from developing some pretty sophisticated business apps used every day by our company. I have had to so some wonky work-arounds but I don’t think that is unusual with most tools.
If I had to make the choice to use Xojo today given the current landscape of other options out there I still would choose it.
I develop on Mac, with most of my “users” (actually a very small number of factory workers) running the apps under Windows. Logic is 99% cross-platform without having to touch anything. Visuals may require some tweaking, and certain things will never look as good on Windows as they do on Mac (whether that’s Xojo’s fault or Microsoft’s has been debated here since time immemorial). Fortunately for me, no one really cares what my apps look like, as long as they work and are easy to operate.
Today I use Xojo exclusively on Windows and almost entirely for printing manufacturing workflow Web applications. 20 years ago when I first started using RealBasic It was for cross platform Mac and Windows desktop applications also for printing manufacturing. I rarely have ever needed to do platform specific declares using Xojo and get all the additional functionality I need from various Plugins I have licensed like from MonkeyBread Software or Einhugur.
My biggest shortcoming at the moment is transitioning between Xojo Web 1.0 to Web 2.0, which has been a challenge due to missing/delayed features and bugs that are not always easy to work around. Still given all the other options out in the world I would still pick Xojo for the kinds of things I need to develop for, especially given that software development is maybe only 40% of what I do day in and day out.
That’s mandatory, IMO. As an example, the fact about buttons ordered “Cancel”, “OK” on Mac’s dialogs and “OK”, “Cancel” on Windows (from left to right) means you must swap them in one OS (unless you aren’t concerned about how native your app looks to your users). And that’s one difference among others.
I came to Xojo from an Excel VBA background. The bar to entry was what enticed me. I also was using strictly for Windows. I eventually moved on to C#/WPF mostly due Xojo lacking functionality I needed. The areas I found lacking were Printing and UI design. There were some hacks I could use to get decently smooth UI, but WPF is so much more capable when it comes to Animations and glamorous UI.
The entry bar is a factor to me also, having a VBA background myself and being able to hit the ground running a little more quickly. However, I’m also seriously considering C# myself, and I’m wavering on the Xojo/C# direction. C# seems more complex (mostly syntax differences, I imagine) and not quite as suited for RAD, but WPF definitely has the UI advantage. Decisions, decisions.
@Jack_Ross I’ve been developing solely on Windows using RealBasic and Xojo for about 10 years now and before that I was a C#/VB developer.
I’ve never looked back. It powerful, fast, compact and you can do extraordinary things with it. I do also write Standalone Web Applications that run on Windows Servers, and there are a few things you need to do to make it scalable, so if that’s your bag, I’m happy to discuss. But what you can do with web apps and how easy it is, makes a decision between the Microsoft world and Xojo a no-brainer.
The other thing you should consider is the support you get. This forum for example but also the fact you get responses directly from the Xojo staff. It’s a one stop shop. You can’t say the same for Microsoft.
We do use MS SQL as our database backend and I would recommend using Monkeybread’s plugins which are just incredible in what they provide and the support that you get. Definitely use the DB plugin for MS SQL.
We are running some serious systems for the NHS in the UK using this setup and I’d recommend it to anyone who is currently using Visual Studio to swap to.
Agreed, and I would also add that using MBS SQL makes it really easy to support different databases for your applications via external configuration, this without changing the code in the application.
My attraction to XOJO was the promise of using ONE language to develop applications in Desktop, Web, Android, iPhone. I have explored Desktop development a little, and like you I come from a VBA/VB6 background, but I still find the IDE incredibly confusing compared to the simplicity of Microsoft’s VB6/VBA IDE. Still, you can learn how it works, yet its like learning to drive a Right Hand Car if you were brought up with Left Hand drive, with the added complexity that some of the controls you can more easily find, if you sit in the rear seat rather than the drivers normal position. And sometimes you go for a control and it seems to have been moved somewhere else in the scheme of things. At this stage, and with the early developments in Web Programming (which was my original interest) requiring a little work, I have decided to sit it out until things settle down a little. However, if you are contemplating mainly Desktop development, you will probably have a smoother experience in learning XOJO - Some of the examples are particularly useful. The forums are full of XOJO enthusiasts who are exremely helpful, which make the whole experience of learning XOJO a pleasure. XOJO promises to be a revolutionary and versatile platform in the future.
Thanks for your take on it. Yes, my mail goal is desktop development, and yes, it’s a little weird for me at this point getting a feel for the IDE compared to VB/VBA. I’m putting that down to having to learn a new environment at the moment, but one thing I’m struggling with is handling text files, both csv and print files (like journals, schedules, and other accounting files in print format saved as .txt files, which I work with a lot). TextStream seems somewhat capable, but when it comes to sheer simplicity of using Line Input (somelinefromthefile), then using the TRIM and MID functions to parse and extract the data, I’m still shaking my head a little. In addition, Microsoft’s good ol’ FileSystemObject has file manipulation methods that seem to be lacking in Xojo, but I may not have found the best source of documentation for that yet. I haven’t given up checking out Xojo, but I’m not sure yet if it can do everything I’ve gotten used to having in VBA.
The concept of MS FSO can be achieved in Xojo using 2 objects: FolderItem for file operations/navigation and a stream one of your choice and need as TextOutputStream, TextInputStream or BinaryStream.
Its a little different but no less easy.
Once you have opened a TextInputStream, your
Line Input becomes .Readline
Trim is much as VB did it (in API1 … with API2 they made it more ‘other languagey’)
eg
API1 had thisstring = Trim(thatstring) // like VB
and API2 has thisstring = thatstring.Trim // an almost pointless change, but there you go…
Thanks Jeff, Rick, I’ll dig into the FolderItem and TextInput/OutputStream documentation a little more. Still not quite sure if FolderItem can do everything FSO does (moving, renaming, deleting files, etc.) but this helps as far as trying to duplicate the functionality of LineInput and extraction of data into variables. I work a lot with dealership management systems (DMS) that involve querying flat files and downloading results as csv files or automation routines I’ve built in VBA that create resulting print files (as opposed to sending the results to their printer), so text file manipulation is an important aspect for me.