Will Web Technologies take over?

Being a full-stack software engineer for over 8 years I noticed one certain thing, technology is growing so rapidly that it’s nearly impossible to be up to date with it. I’ve seen multiple companies not investing enough resources into new technologies and I am not surprised by that. If they wanted to implement the “next big thing” every time the one is out, they could really be creating their product all their lives and never finish it, apps are more complex which slows down any new adoption and every year new things come up. But does it need to be that hard?

There are plenty of languages and libraries, each of them with pros and cons. However, another constraint is a number of different devices people have nowadays, each of them with its own OS, hardware or specific operating language. The question is how to support all of it without scarifying user experience and keeping the costs low.

Over last few years there have been multiple new frameworks that I would like to highlight for your attention: React (JS and Native), Angular, Ionic, Xamarin.

Let’s start with Ionic, hybrid mobile app development framework. It gives you similar components what you get with native development. Angular fits in perfectly with Ionic, it updates your DOM with two-way data binding and connecting with RESTful Web APIs is just a breeze. However, everything runs in WebView using Cordova. This allows the application to have access to some native functionality of devices, however, 97% of things you see is just a web page. Ionic is very fast and it feels nearly native, except it doesn’t feel native. Check out this video for comparison.

Xamarin might help with that, it allows you to write native mobile apps with C#. This is a great option for companies that already have .NET developer. Its recent acquisition by Microsoft ensures that the framework will be supported long term. Xamarin supports the development of native iOS, Android and Windows apps, pretty cool huh?

So where React stands? React stormed the techie world with the way it updates DOM and breaks common web development standards by storing HTML, CSS, and Javascript in a single file. Personally, I think the later is the genius, I always hated to jump between the files and it always looked messy. React updates particular component on your screen with a minimal number of iterations unlike Angular which re-renders everything. It’s really fast, it’s really sweet. With it’s latest addition React-Native it also allows you to build mobile apps. How it differs from Ionic? Well, it’s not a web app in a WebView like Ionic, it’s a fully native app that is built with Javascript, it feels native because it is and you can build it with web technologies.

So React supports both the web and mobile in its own native environment, “learn once, write everywhere” approach. Will React take over everything? Well, I doubt but it’s something definitely worth sticking to. React has the same constraints as any other company, to catch up with technology. It is also responsible only for your view, however, there are some plugins to help you with back-end access. Another problem(?) is that it is owned by Facebook. Why is it a problem? React team will be working on things that are required by Facebook which not necessary need to be same what companies from different industries really need. However, this problem could be resolved as React is fully open-source and there is a huge community writing the code for it. It also has good financial backing from Facebook.

Javascript is a great choice for startups due to powerful tools available to manage both front-end (React) and back-end (NodeJS) running on a nonSQL database (MongoDB). It’s super fast and you only need Javascript developers to handle full product life cycle. I am going to stick with, are you?

Let me know what you think in the comments below.

 

Leave a Reply

Your email address will not be published. Required fields are marked *