DEV Community

loading...

The future of App development

Amit jha
MERN | PWA | PyTorch
Updated on ・3 min read

In the last few years, native app development has seen a shift from the 'native' tech stack to a more 'web' oriented development stack. While one can easily read articles and find loads of reason for this I think one the fundamental level there is only 1 reason for this shift: the need for One-to-many application. In this post, we will be diving into this reason to understand what it is.

The need for one-to-many Application

Huh?
Okay fine. One-to-many application is just my way of saying one code base and support for all platforms (Android/iOS). But what is it anyway?
These applications are written once and supports both android and iOS out of the box. No need to rewrite anything separately for any platform. Well, is there anything even remotely similar to that? YES!

Here are a few of them:

  1. Flutter
  2. React-Native
  3. PWA

Let's look into what these are.

Flutter

It is a framework developed by a team at Google for building fast and responsive mobile applications. It can be deployed to both Android and iOS without you having to rewrite the entire application for a specific platform.
Pros:

  1. Easy to learn
  2. lightning-fast development lifecycle
  3. Compiles to native code
  4. Fast and responsive
  5. Growing community
  6. Easy to connect to native APIs even if they are not directly supported Out of the box support for many Google services

Cons:

  1. Requires you to learn dart
  2. Many native APIs not supported. Hence may require knowledge of native development cycle to interface it with those APIs

React-Native

It is an extension to the popular front-end development framework React to develop fully functional and responsive mobile applications with web technologies alone. All you need is experience with HTML, CSS, JavaScript, JSX and you are good to go. If you haven't heard about react or react-native then you should definitely check them out.
Pros:

  1. The only knowledge you need is Webdev
  1. Supports many of the APIs supported by react
  1. Amazing community online to help you out

Cons:

  1. Flutter has a much more stable development life cycle even though react-native is more widely used

PWA (Progressive Web Application)

> Hey, What is PWA?
>> Progressive Web Application
> Aren't all applications progressive
>> d.e.a.d

Lame joke, sorry :P

What are they actually? Well, it is something which is truly one-to-many application. Have you ever visited a website and received an annoying popup asking you to add the app to your home screen? You have. Exactly.

These applications run in the browser and can be installed in the device as an application. To be honest, install isn't the right word to use in this case but for the sake of argument, we will accept it. So, you write one application for the browser and that's it. Your application can be accessed from anywhere in the world on any platform and not just that, you can even install an instance of that application in your device that feels and works like a native application. Isn't it cool?

PWA is a relatively new concept and it can be a game-changer in the long run. If you have not started learning PWAs development cycle then you are seriously missing out. One such framework for PWAs is Ionic. Do check it out.

Additionally, these frameworks discussed above also help companies save money because now they don't have to divide their teams to work on iOS and Android separately.

Furthermore there are several more reasons to consider PWAs and such technologies and I hope this post makes you curious enough to explore them.

Cheers,
Jha

Discussion (2)

Collapse
0xbf profile image
Bo

Thanks Amit for sharing. BTW, A typo here, "Here are a few of them, .. 3, PWD", PWD -> PWA

Collapse
jha profile image
Amit jha Author

Thanks. I have corrected it. :)