Why am I learning Kotlin

Why am I learning Kotlin

 

I started my career teaching my self GW-BASIC, then moved to a bit of C++ and ASM, soon realized other than getting a job in Computer games programming, it was very difficult to find jobs using C++ and ASM in my small town, thought about Java and by that time, I moved into infrastructure and away from development. Writing boring business logic really didn’t interest me.. But, now that full stack development means you can pretty much develop apps all on your own and deploy them globally, I am once again interested in getting back and working on some projects. The likes of Snapchat and Instagram are incredible motivation to learn.  Such basic apps that sold for millions of dollars.

But were do you start, there are so many different frameworks and languages you get lost in google search within 30mins.

Lets start with few criteria;

  1. Must be well funded
  2. Must be opensource
  3. Must be popular on GIT
  4. Must be multi-platform and execute on iOS, Android, Windows, OSX, Linux, IoT and other with single source.
  5. Must be able to build front end, backend, APIs, micro services and integrate easily with backend solutions like firebase.
  6. Support for Strongly typed, OOB, refresh, PWA, Tree Shaking, Code Splitting, Progressive Hydration and Layered Routing.
  7. Support for UI frameworks, Bootstrap, module NPM style.

ReactNative vs. Apache Cordova

ReactNative vs. Apache Cordova

Many of you may already be familiar with Apache Cordova as an open-source project that enables web developers to build mobile apps with full access to native APIs and offline support. In a Cordova app, the entire UI executes inside a full-screen WebView where you can leverage the same HTML, CSS and JS frameworks found on the web. But, since the UI is rendered in the WebView, it can be difficult if not impossible to achieve a truly native look and feel.

ReactNative apps are also written with JavaScript – or, more specifically, they are written with the React/JSX framework. But, rather than run in a Webview like Cordova, code runs in a JavaScript engine that’s bundled with the app. ReactNative then invokes native UI components (e.g. UITabBar on iOS and Drawer on Android) via JavaScript. This means that you can create native experiences that aren’t possible with Cordova.

That said, Apache Cordova is presently a more mature and stable technology that lets you write a common UI layer using web technologies, whereas ReactNative is much newer and still requires you to write distinct UI layers. If your app requires native UI and you enjoy the excitement of a rapidly evolving JavaScript platform, then ReactNative might be an option to consider.

Mobile Application Development Research

Mobile Application Development Research

Workflow

  • Angular.JS + NativeScript can create Native iOS, Andorid, Windows Phone and Web Sites
  • MySQL Backend

Tools

Research