THE FRAMEWORK BATTLE FOR APP BUILDING

By: Matt Cotter, Full-Stack Developer, BITSTORM CONNECT

It’s hard to imagine an industry or field of study that isn’t ruled by standards; like the metric system in the field of science. However, as consumers, our “standards” are always in flux. Whether it’s Betamax versus VHS or HD-DVD versus Blu-Ray, we’ve seen a lot of good (and bad) formats fall to the wayside.

When it comes to developing the latest apps, a similar battle is being waged among some of the biggest names in technology. Frameworks have risen as a way to streamline the development process and help push viable products out the door quicker.

Unlike the days of Netscape and Internet Explorer (another format war that led to the creation of Mozilla’s Firefox browser), the web is much more standardized than it once was. With mobile taking off as a platform, that has led to a lot of progress and has changed how web developers shape the web. Luckily for us, the standardization of the web has helped pave the way for app building and some of the languages we have used at Bitstorm Connect to build web sites for years are at the heart of apps people use every day.

So, what’s the difference between an App and a Website?

Most of the time when you think of an app, you think of something you download off the Google Play Store or Apple’s App Store. However, developers are finding it easier and easier to circumvent Apple and Google using the web and a Javascript framework like Preact.

Uber recently launched a mobile version of their app called m.uber using just that. The app was built for high performance on slower networks and is probably one of the best feats of engineering that exists on the web to date, with the whole thing weighing in at less than an astonishingly small 50kb.

Progressive Web Apps, or PWAs, are riding a wave of popularity right now as they allow you to breakout of the sandbox that Google and Apple forces developers into. They utilize basic languages that have been around for years like HTML, CSS and Javascript. Microsoft recently just announced that they will allow you to download Progressive Web Apps through their own Microsoft storefront, which is a pretty big step for a company that was once the king of sandboxes.

That’s not to say that Google and Apple’s app stores aren’t important. For maximum outreach, developers should consider porting over to either one or the other. The leap though is that using a Javascript Framework allows you to do about 80% of the work for both an iOS and Android app; the rest has to be completed using a language like Java/Kotlin for Android or Swift/Objective-C for iOS.

So, what now?

Let’s review some of the big names in the in Mobile App development right now.

Ionic – Casting a Wide Net (https://ionicframework.com/)

Ionic has been a chart topper in the framework space for several years now, which is an accomplishment seeing as how there is seemingly a new framework out every week. It’s not a Javascript framework but it’s popular with developers as Ionic’s strength is that it converts basic HTML, CSS and Javascript and translates it into the necessary files and languages that are utilized in Android and iOS environments.

It’s pitfall, and the reason why it’s not widely used by more specialized teams, is that this “translation” doesn’t come without costs and trade-offs. You can experience performance issues and your app may lack a true “native” experience as Ionic attempts to cast a wide net for maximum compatibility. For small to medium projects that requires cross-platform integration, Ionic is a safe bet still and you can utilize it in conjunction with just about any framework out there.

Preact – When Performance Is Key (https://preactjs.com/)

If you’re comfortable with Javascript, Preact may be up your alley. Preact was already a popular framework but Uber took it up a notch to highlight the versatility the framework offers. It’s staggeringly small, at only a staggering 3kb compressed. It’s marketed as a smaller alternative to the popular Javascript framework React, which was created and maintained by Facebook.

Despite being an alternative to React, Preact is 100% compatible with React. Because of this, if your company is already using React on other projects, Preact is a great tool to consider for an app when performance is going to be vital.

React Native – Most Popular (https://facebook.github.io/react-native/)

React is a popular Javascript Framework maintained by Facebook; React Native is forked off of React with a focus on mobile UI. I’ll let React Native do the talking:

“With React Native, you don't build a “mobile web app”, an “HTML5 app”, or a “hybrid app”. You build a real mobile app that's indistinguishable from an app built using Objective-C or Java. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React.” – React Native

React Native enjoys a huge community of developers eager to help new teams and people and it checks off all the boxes you would want for app development for cross-platform compatibility. It enjoys a large community and probably has the best support among developers as it hooks and shares a lot of common ground with React. There’s also no end to the tutorials and free resources you can find to assist you.

Decisions, Decisions

In conclusion, it can seem like there really isn’t an official “standard” for App Development just yet as to have an app on the web, iOS and Android devices seems to require a myriad of technical skills that’s just too much for a single person to fully understand and implement by themselves. The internet has come a long way since the browser wars but because of this, it can feel over-populated and hard to navigate.

But if you ask any developer, the framework in and of its self doesn’t matter all that much. The frameworks people use definitely take time to get to know but at the end of the day, they all compile into Javascript. Sure, they all have pros and cons and it does deserve consideration but what’s important is how much you understand the mechanics the framework is serving you. If you understand that, switching them out can take time but won’t feel like you’re having to reinvent the wheel.

Vue, Ember, Firebase, Meteor, Angular 2 are all good choices with various strengths and weaknesses in addition to the frameworks mentioned above. But they’re all written in Javascript. Either way you slice it, unlike Betamax or VHS, Javascript is here to stay.

 

Current Magazine November 2018 November 2018
© Technology First 2018. All rights reserved.