Please state the platform and target, eg moving from developing for Web or Mac/Win/Linux Desktop to ….
As an example:
Status: Considering / Decided / Completed
Mac Desktop -> Xcode & Swift
Reasons in descending order: Stability, Capability, Cost
Please state the platform and target, eg moving from developing for Web or Mac/Win/Linux Desktop to ….
As an example:
Status: Considering / Decided / Completed
Mac Desktop -> Xcode & Swift
Reasons in descending order: Stability, Capability, Cost
All are considerations, which depends on what the client wants. If I am given a choice then I will consider the following. The B4X suite might do all of this, which is a strong consideration.
Desktop - (win) C++/B4X (C++ is fast but more difficult to program and has all 3D libraries built-in, I am intregued with B4X and will consider it)
Raspberry Pi - c or python ( I like the security of c, and the ease of programming in python)
Web - HTML/CSS/JavaScript seems to be the trinity of the internet for speed, compatibility, and graphics. Java seems to be a consideration for backend (database) work with multicore, speed, scalability, and dependabiliry
There is only one route I could see me taking.
Mac -> Xcode & Objective-C.
But I am not sure I want to be locked deeper into the Tim Apple universe.
Status: Decided
Mac Desktop -> giving up Mac platform at all, only maintaining current or create smaller projects
Reasons: 13 years ago Apples commitment to open Source Technologies made me to switch to Apple. By now they’re becoming more and more closed, restrictive and intransparent. Read what I’ve written for the Win platform below. My main developing platform moves on to Linux and Open Source. With some minor projects as exception all my money-income projects have been always an combination of software and services. Writing open-source software increases trust and widens my possibilities. There will be a short transition of course as long as my 15" Intel Retina-Macbook Pro will be supported but I won’t buy any Apple Silicon anymore.
Status: Decided
Win Desktop -> already gave up when Win10 appeared 4 years ago.
Reasons: Of course no Open-Source, never been: Microsoft is not making Operating Systems anymore, it’s more an advertising platform to me or in own words of Microsoft: They are making Edge Devices for their Azure One-World-Computer. I have no motivation to jump on this train and this is not my understanding of Digitalization and digital sovereignty at all. I am hosting all my servers and services by my own and I am selling the same independency to my customers.
By the way, this is the area where Microsoft is far more advanced than Apple is and I am sure Apple will follow them within a timeframe of 5-7 years by integrating more and more “services” into their AppleID and crippeling down iOS and MacOs.
As shortcut for both platforms I am exploring Freepascal/ Lazarus cause it offers me to write and compile code for Win and Mac without the need of using VMs.
Status: Decided
Web Development -> Python, Django for Web Apps, Hugo for static pages
My blog already is made with Hugo as static page generator replacing Rapidweaver, which I discontinue due to the fact that this is Mac only software. For dynamic web apps I am switching to Python and Django Framework.
Status: Decided
Mobile Development (iOS and Android) -> I consider modern smartphones as wiretapping devices esp. when I see how app developers using Google, Facebook and other tracking and 3rd party SDKs for data collection. I am using my iPhone with just the basic apps and a couple of Open Source Apps only for my business, switching it off outside working hours and leaving it mostly turned off when on the road. Therefore I won’t support any of these and waiting for Librem Phone or similar products based on Linux when they are ready to use.
There is only one route I could see me taking.
Mac -> Xcode & Swift
And while this requires being locked into the Tim Apple universe. I feel its a better alternative than the Windows universe, and for me Linux isn’t an option.
Status: Considering / Decided
Desktop (Mac, Win, Lin): B4J
Mobile (iOS, Android): B4I / B4A
Reasons: Stability, Reliability
Status: Considering
Apple universe: SwiftUI
Reasons: Reliability, Capability
Status: Decided and progressing.
Mac, Windows, iOS, Android, Web -> PHP + HTML + JS + Bootstrap + Open Code Libraries
Reasons in descending order: Reliable, Lack of Bugs, Not in beta.
Status: Currently
Mac/Win/Linux -> Xojo
Reason: Nothing even comes close to it’s ease in creating Cross-platform Desktop apps, and all I care about is easy-to-create cross-platform desktop (and web) apps.
I can’t honestly see anything even on the horizon that will be able to compete for my needs, much as I check out everything that I hear about or has been suggested. I understand that my priorities are different than most people here, even though it sometimes surprises me.
Mac & Win > Xojo …As long as I dont allow API2 into the mix, there is nothing better out there.
iOS > B4i , as soon as I complete my B4A rewrite
(Xojo created a poor iOS product, shows little intention of making it a better one, and massively overcharges for it.)
Android … I had no interest in Xojo’s offering, as I expect it to be worse than iOS and very late , but because of my disillusionment with Xojo’s iOS, I tried B4A : Surprised how fast I have been able to get good stuff working. Surprised at the speed of the resulting apps too.
Web > Luckily, no interest
Pi > no interest
Decided:
Mac/Win/Linux: LiveCode – stable, opensource option, fun language with many conveniences. Linguistic differences with most other languages are striking but once you get the mindset it’s very easy.
The ease of use for cross-platform dev is arguably much higher than with xojo, there is nearly nothing that xojo can do that LiveCode can’t and easier (although i haven’t hit that wall yet). The compiled binaries may not be quite as quick as xojo in some cases, but for my uses that is academic, especially compared with the effort of maintaining larger projects in my limited available time. Cost for the ‘indy’ dev package is equivalent to xojo and includes LiveCode server as well…
Considering:
iOS/Android: LiveCode – I haven’t yet tried out LC for mobile apps - seems to be moderately mature with native controls but as yet have not really tested. I did build a standalone for one of the desktop apps i’m working on just as a quick test and it seemed to work fine on iOS… Certainly looking around there are no complaints about it like xojo’s iOS offering and android seems to be working well as well judging by forums so reasonably optimistic.
Undecided:
Mobile +/- other platforms: Flutter. Mature on mobile devices but no good visual IDE. Steeper learning curve. Would consider more strongly if mature desktop offerings to accompany mobile offerings.
As things stand with XOJO i would only consider returning to this if there were significant improvements, which doesn’t seem likely in the next couple of years, hence i’ve stopped auto-renewing the licence.
If i was purely mac/ios i would have gone with Swift, but currently there is no real place for this for cross-platform apps.
As a 75 year old hobby programmer who lives in the Tim Apple environment, has used RB/Xojo for over 20 years and hates code with lots of curly brackets and semi-colons I plan to stick it out with Xojo. Hopefully it will see me out.
What about square brackets?
If you ever used HyperCard in the really old days of Mac System 6 or System 7, give LiveCode a spin… it’s eerily close to the original but much more capable…
Good write up of Hypercard here if you’re not aware of it: https://arstechnica.com/gadgets/2019/05/25-years-of-hypercard-the-missing-link-to-the-web/
In truth LiveCode has moved it much of into the arena of ‘proper’ programming but it maintains a lot of that exciting allure that dominated mac software the late 80s/early 90s…
Yes, I loved HyperCard. Thanks for the tip.
Some combination of Xojo and python I’d imagine. Still deciding. If something new came along I’d certainly investigate it. The B4? stuff is on my list to check out. But I’m also wary of “the next big thing” as people do tend to look over the flaws. For example, Xojo flaws are mostly not noticeable until you get into a big project.
Ideally I’d love to see a python-ish version of what Xojo offers but that doesn’t appear to exist.
Currently: Xojo for MacOS
Why: Ease of use, rapid dev.
Deciding: Swift/Xcode for MacOS
Why: I really like the language – I generally prefer it to Xojo.
I’ve been learning Swift and have worked on a few small projects by my main hurdle is that the Cocoa framework is so much more complex and takes much more effort and time to learn. I honestly don’t have the time to devote to it right now in order to get to a place that I can be as productive as I can be with Xojo.
Note that B4 is already around for a decade (and even longer counting the b4ppc years).
We started a complete rewrite of our main application in the following technologies:
And we use Typescript.
IDE are Webstorm and VisualStudioCode (depends on our developers preferences).
WEB
-> moving to Java + other Java Web frameworks
Status: Decided / in progress
Im am currently rewriting a Xojo web application to improove my Java skills. I use Java (with Servlets and JSP), HTML, CSS and JavaScript. Compared to Xojo-Web the development is much slower (partly because of my lacking experince) and cumbersome. I already plan to do an other web-project in Java but then I will use either JSF (Java Server Faces) or Apache Wicket (https://wicket.apache.org). On a positive note: Core Java seems to be very solid, until now I did not find a single bug (but then again, I am only scratching the surface).
Reasons: stability and reliability, performance: can make use of multiple processor cores, many free/open source libraries, huge user base, many tutorials and examples
Desktop (Mac/Windows)
-> moving to Java
Status: Decided
I plan to do new projects in Java (using JavaFX) because I need cross platform compatibility.
Reasons: multi-platform (runs also well on Linux), stability and reliability, performance: can make use of multiple processor cores, many free/open source libraries, huge user base, many tutorials and examples
I will also keep alive a couple of Xojo Desktop/Web projects, so I will still use an 2019 version of Xojo from time to time. Probably I will keep an eye on new Xojo releases from time to time,
so I do not exclude the possibility that I might use Xojo for new projects again in the future, if I see a clear advantage in it.
To those considering Python;
IIRC Apple will be removing Python from macOS iOS, along with PHP and other things that Mac devs are used to having on the OS.
Which may mean that users either have to install it via homebrew, or include all the runtime stuff in your app.