A step in to a rapid app development

ColeN
4 min readNov 18, 2020

--

App development is one of the fastest growing requirements in the modern IT world.

As of the first quarter of 2019, there were between 2.6 million Android, and 2.2 million iOS apps. It is roughly estimated that few hundred apps are released every day on both platforms according Statista. That is a huge number and a growing list of apps will rise further with implementing new technologies for cross platform rapid app development.

Instead of focusing just on one specific platform, why not use one code to compile and publish apps for both Android and IOS and just adjust a few parameters. This is achievable with the common used native component WebView widely used to display HTML content and DOM (Document Object Model) in a container (frame) inside the app.

Displayed result is not a native code, instead it is a HTML5 content linked from web (or a file). This works fine, but the main con is that apps like these are slow compared to apps made with Android Studio written in Java and Kotlin and Xcode as Apple official IDE coded in C++ and objective-C and compiled in true native code.

Both platforms use different programming languages, so if you are developing an app for one platform can not reuse the same code for the other. Alternative is to use a framework where you’ll write your code once and use it on both IOS and Android.

Ionic Framework can do this, but the result is still a WebView with a use of some native components like camera, sensors etc. There are others too.

If want to build a native app and reuse the code will need a framework which require Node.js and JavaScript for the code. Fortunately there are two options available right now and more will come.

First one is React Native — an open source framework you learn once, write anywhere. Based on React.JS, it uses code written in JavaScript to render a native UI (user interface) and to build an app which look, feel and act as build with the native SDK.

React Native is great for rapid app development as you write your code in Javascript or typescript, and just rewrite few lines the manifest.xml to declare the operating system and platform for which it is built. React Native can be installed thru Expo CLI or ReactNative CLI. First option is easier but you’ll end importing components from two different CLI (Command Line Interface) and its repositories. Will have to install Node.js first, then one of the CLI and few more things to be able to start building your native app.

React Native may be a bit confusing for beginners so you may go with the alternative: Native Script.

NativeScript is also an open source framework but more user friendly. Can use variety of Javascript based web development frameworks and also “vanilla” JavaScript (JavaScript core) for coding. NativeScript offers few things other frameworks doesn’t have but are essential for absolute beginners and very easy to learn and start building your first app if have some previous experience with HTML, CSS and JavaScript.

Both React Native and NativeScript have large communities and support from major authorities like Facebook, Google and Apple. Both are widely used for rapid app development with a slightly favor for React Native.

But if you truly want to go native, there is more.

Flutter is a Google UI toolkit for building great looking, native applications for mobile, web and desktop from a single codebase. Flutter main focus is building native apps for both IOS and Android from the same code. Its main fallback is DART — programming language that is not so widely used and supported as JavaScript, but it is easier to learn and may be widely used in future.

For writing your code and UI, you can use Android Studio or Visual Studio Code as an IDE.

Last and not least is a not so well known Felgo. It has its own user friendly IDE, built in compiler and companion apps for testing on mobile devices so you’ll don’t have to install a bunch of scripts or run NPM commands. Negative is that it use its own QT/QML language commands which can be combined with other programming languages. While mainly focused on app creation for mobile, web and desktop operating systems, can use Felgo for making games also.

So, if you want to create a single mobile app or think big and jump into rapid app development hype, look for these frameworks.

Do not stop here! There are many online services (paid) and a much less free that give you an option to visually create a mobile app with little or no coding. Or use the programming language you already know, compile the code, convert to Java and go on from there.

P.S.

UI/UX designers already have the perfect tool for app creation, just many don’t even realize it is there, a click of button away.

--

--

ColeN

Ordinary person sharing his experience & helping others while trying to get a piece of the pie. Problem solver at day, free thinker at night