A good “Intro to building cross platform Java apps for the desktop”, and one for mobile, & web, that people could see where things are today would be good
Maybe those already exist ?
I dont know
And I haven’t gone looking
Build any java app for desktop with swing or JavaFX. It will run on all desktop platforms. Write a command line app and it will run on all platforms. Write a JavaFX app and run it with JPro and it will run on server rendert to the browser. Take your JavaFX app and compile it with GluonMobile and it will run on mobile. Write a java app with codenameone and run it on iOS and Android and all desktop platforms.
Build any java app for desktop with swing or JavaFX.
Sure… and where is the HOW TO GUIDE (not necessarily for ME but for someone new ?)
Its why I wrote the HOW TO get started with java posts on INN
Saying “build a java app” is the easy part
Tutorials. How to Guides.
THATS what gets people going
And THAT IS where Xojo, and some other tools like VB6, excelled
Getting started was SO dead easy
Even getting that first app that did something was dead easy
Yep. That is a huge part of it and wading through the eco-system of tools trying to find what works for you as an individual is not easy with Java BECAUSE there are so many options available.
Coming from the RAD mindset of form creation I find that JFormDesigner bridges that gap for me and “makes sense” of creating a form with controls. Creating a form by a declarative UI design tool doesn’t click yet. Maybe over time but to get started finding tools that let me do things the way I’m accustomed to doing them is my hurdle right now.
You are correct there are tons of them that are easily found in a Google search. The problem a newcomer like me to Java has is going through the hundreds or thousands of them and finding the ones that work similarly to my existing tools so that creating forms in Java makes sense to me.
FINDING the right tool(s) out of the many choices is the main hurdle not the syntax itself.
Too few choices is a problem
And so is WAY too many
For some one new knowing which ones would be good to start wit is an issue
And dont forget that GOOGLE gives you “stuff”
It doesnt give the best answer, or even the right answer
It just give you “stuff” that seems popular (more or less)
And the smart human has to try and sort out whats “good”
A person new to java wont have ANY ability to do that
Although tools like IntelliJ do try & get people started with
Again - a newbie might not know that IntelliJ is a good choice
This has been a really helpful discussion thread all around - I appreciate all the viewpoints.
I can absolutely understand the concerns of the professional/commercial programmers here who have been challenged by bugs and other issues with Xojo. Is it possible that the root cause for many of these issues is that Xojo is ultimately proprietary whereas most of the other options are not? Perhaps a proprietary language is fundamentally not a good fit for a professional developer?
The best part about Xojo is that it’s a controlled environment - buy it from Xojo, read the book, and you are off - no other dependencies or enivronment to set up. The worst part of Xojo is also that it is a controlled environment - to a large extent, you are stuck with the decisions tha Xojo made and the features it developed.
The best part about C#, Javascript, Java, etc is that you are free to configure your work environment and dependencies any way you want to do so. The worst part about those open-source languages is also that you are free to set it up however you want. It means there is a lot of work in understanding your options and the implications of those options.
Having worked there for more than a decade the biggest issue Xojo, and subsequently its users, face is that its such a small team, with way more to do than that team can handle
They have 5 developers
Thats not even one per target when you count Windows, Mac, Linux, iOS, Web, Android
And they have their own compiler yet I dont think they have a dedicated person working on that
Add in the various shifts in focus they’ve done in the last 5 years with API 2 and renaming controls, properties & events and the team simply cannot keep up with the issues this things generate AND create new items
So their pile of things to do simply grows & grows
And they haven’t grown their developer team in more than 10 years
They’ve changed faces but the team size needs to be larger but isnt
It leaves them where they are today - with a lot of potential thats gone unrealized because they just cant/wont/dont grow their development team to get to the next level
For sure they need a substantially larger team if they want a product with cutting edge features competitive with Java, Javascript, C#, and others. Of course those are all open-source languages.
Is there actually any example of a proprietary language which has prospered with a development team larger than Xojo? Even Oracle has essentially open-sourced Java and earns revenue largely through value-added services to large businesses.
Even if Xojo wanted to go the route of Oracle/Java, there is steep competition there from well-funded competitors.
Perhaps it is a good business decision for Xojo to stay as a niche product with strong demand and limited competition, i.e. a product for either beginner programmers or “power users” of personal computers who are advanced enough to code but too busy with other aspects of business/career to stay proficient with and maintain a “professional” development environment?
Embarcadero RadStudio which encompasses both C++ and Delphi. They don’t break it down by language but the main page of the website claims a 3+ million developer community. The last 6-8 years since Idera bought Embarcadero there have been a lot of improvements and and bug fixes. The Old Embarcadero seemed to be treading water a lot like Xojo. Under Idera it is obvious that they are willing to make the investments to improve the toolset. As mentioned before it does come at a cost to the customer like me.
It is an example of a closed source language from a single company that keeps a reasonable pace with OS releases.
I’d say just to get on top of the ever growing list of open bug reports (not just features)
They current sit somewhere over 2300 open bug reports
and over 7200 OPEN reports of all kinds
That number has NOT been going down
So its not even to adopt advanced features but just to keep on top of what they already have
Like say VB6 ?
There are precedents for lots of tools, with proprietary or even common languages, doing well. Fewer lately for sure since the trend IS towards open sourced languages & proprietary IDE’s (VS, IntelliJ, NetBeans, Xcode etc)
Not sure I’d say “strong demand” given the last few years
I know a lot of folks who were willing the plunk down the most money, professionals and institutional type developers, that have departed en masse over the last 5 years
That wouldnt count as “strong demand” to me
And there are other signs demand has dropped
Maybe I do not understand that product - Embarcadero RadStudio looks to me to be a proprietary IDE for the open-source languages C++ and Delphi. Am I misunderstanding?
Is Delphi open sourced though ?
That I’m not sure of
This DOES seem to be the trend now though
Commercial tools for open source languages (IntelliJ for instance)
And there are other tools that are NOT commercial and are open source
They just dont seem to be as nice as the commercial ones
But for the very-small business owner who wants to put together a utility in a weekend to support his 2 secretaries or the teen who wants to self-teach himself coding but doesn’t have the mentoring to learn how to debug dependency issues in Github, maybe there is a place for Xojo despite its recognzied issues? Maybe that is an unfilled niche so demand would be strong for a small team offering such software? But demand not big enough to support a team 2 times or 10 times that of Xojo?
I’d call it a self fulfilling prophecy
Some years ago they decided to focus on new users almost to the exclusion of nearly everything else
And so now thats what they garner - new users
And the more experienced users depart
So Xojo remains stuck as a new user / inexperienced user tool
And experienced users depart for other tools that ARE improving things - fixing bugs, adding useful new features, etc because they have the right kind of team to do it
Dont get me wrong
I still use Xojo - a LOT because I have customers with a lot of code in it
But they ARE open to considering alternatives because they too are outgrowing Xojo and have run into limitations (esp the single core nature of it)
And their businesses arent into waiting years for fixes or features
So - they are likely to depart as well
Xojo is, IMHO, shedding a lot of users who would pay them more $ to grow and keep up with the things they are swamped with today
Xojo seems uninterested in that
Which is too bad but a person, or groups of us, can only beg them to care for so long
So the more experienced users depart
Maybe I misunderstood your question. I can’t speak to the C++ side of things but Delphi is the original proprietary Embarcadero Object Pascal IDE and language. It is not open source.
FreePascal and Lazarus are open source projects which are supposed to provide a compatible alternative to Delphi. I don’t know for sure since I’ve never used them, just looked at their websites.
For someone who is an expert level professional developer suppose a client asks you to write a straightforward web app which could be written in any of the languages we are discussing. Assuming the client is mostly focused upon speed to get an initial working Version 1.0 up and running - nothing else. Let’s say the app is a fairly straightforward report generator where back office staff enter data and the app creates an HTML report based upon a template.
How long would you compare your development time at your level of skill using Xojo vs. C# vs. other options?
Xojo could be the winner here… Really fast to put some basic things together and compile… BUT After the fast v1.0, concurrent clients and advanced features are going to be harder and slower.