So, you want to write an App!
You want to write an App. How hard can it be? Everyone seems to make a lot of money out of Apps. Android, Apple, there’s not a lot of difference, is there?
Really! You think! So many things wrong with that.
Let me begin my story.
A few years ago, I wanted to learn how to develop and publish my own Apps. I considered this would be my future as I was finally putting VB6 to rest and leaving my former employer and its product lines behind.
I had already started playing around with VB.NET and Visual Studio in general. But I was not aware at that time of “Xamarin”. I don’t believe that it was even integrated into VS back then. I wanted to draw on my “Basic” Language coding background (sorry), so I did what anyone these days does, I asked “Google”.
After looking at a few solutions such as; Xamarin, Atari Basic app “really a toy”, I came across a link to the B4X site.
B4X by Anywhere Software, had released four development platforms.
· B4A for Android Apps
· B4i for IOS (for Apple phone) Apps
· B4J for Desktop (Cross-platform PC, MAC, Linux) software development.
· And B4R for microprocessor programming, IoT (internet of things) hardware modules and many other micro development and experiment boards.
They all followed the same VB.NET basic language syntax and went further by providing a common set of libraries and class structures. This made porting code from one platform to another relatively simple.
B4X had already been around for several years and had a very strong user forum. This, together with rapid support, made the software development platforms extremely stable. After the free trials, posting several of my own stupid questions on the forum and receiving not only helpful responses from other users but also from the author “Erel” who would generally respond to every post himself,
… This amazed me and many others who now refer to him as “the Erels”- Gotta be more than one!!
I decided to pay the modest licensing fee (which is only really a membership to receive ongoing updates) and got right into it.
After watching the many video tutorials offered, reading the manuals (sure, no one reads manuals anymore) and downloading and running many of the examples, at least “Hello World”, I started to develop an understanding of the frameworks of the Android and IOS environments. I came to understand that both frameworks might support Apps, but they are not really that similar. Different life-cycles, OS versions, SDK referencing and backward compatibility within their own worlds means you really need to spend a little more time than you think just getting your head around it all. The whole concept of App programming, for me, was about as straight forward as being introduced to Object Orientated Programming for the first time.
Anyway, back on track, the forum was invaluable. I was amazed by the willingness of the other users to not just help resolve my issues, but share code snippets, functioning programs and many specialized libraries - all for free.
Although B4x has been around for several years, “the Erels” have by no means just “sat idly by”. B4A & B4i have continually evolved, keeping up to date with all security requirements (NSA), and new OS features and restrictions. Without this living support the development platforms would have quickly become obsolete.
Some technical stuff;
· The B4A for Android pre-compiles the Basic code into intermediate Java code, which is then compiled using the JAVA compiler from the Java JDK. This is all seamless from within the B4A IDE. You can use the integrated Designer for creating screens and laying out “Views” (visual objects), ie. Buttons, labels etc.
· The B4i for IOS (Apple phone/tablet OS) pre-compiles the Basic code into an intermediate Objective-C code. This must be compiled within the XCode development environment installed on a MAC computer. Again, this is all done seamlessly from within the B4i IDE. But I don’t have a MAC, you say. “the Erels” have also provided an on-line Hosted Builder that integrates with the B4i IDE. Though there is a fee to access it, it does get you started. I acquired a second hand MAC running OS-Sierra (you now need Mohave) which I set up as my own Hosted Builder through the use of the tutorials and forum support. This is the best solution as the MAC also provides a live interactive simulator for iPhone and iPad testing/debugging. As for B4A, there is an integrated Designer for creating layouts of “Views” (visual objects), i.e. Buttons, labels etc.
Both B4A and B4i provide a means of installing your development app onto your own physical device (phone/tablet) using their “Bridge App”. This App provides installing, interactive debugging with breakpoints and debug log output and variable tracing.
Using the online tutorials for setting up my developer accounts on ‘Google’ and ‘Apple’ and the walk-throughs to publish Apps, I can honestly say, I feel empowered.
I have published a few Android and Apple Apps so far. But, let’s be honest, the money did not flow for me. Yes, over the past few years my Apps have generated some money, but when you take into account the set-up costs, ongoing Apple/Google account fees and of course the hours of development, it virtually doesn’t pay at all. I’ve made most of my revenues from specialized applications where there isn’t any competition. But the user volume is still very low.
Maybe you’ll make more money than me - you should give it a go. Get that game idea - that’s been rattling around in your head - finally of the ground. Make your fortune. Good luck.
…. In the last few weeks “Erel” has announced that B4A for Android is now being offered FREE, well at least Donate as you wish. So now B4A, B4J and B4R are free to download and use. Only B4i (for IOS) is still charged.