Estimate your project





Message sent

Thank you!

Your message has been sent. We’ll get back to you in 24 hours.

Back to page
24 hours

We’ll get back to you in 24 hours

to address your needs as quick as possible.

Estimation

We’ll prepare an estimation of the project

describing the team compostition, timeline and costs.

Code Review

We’ll perform a free code review

if you already have an existing system or a part of it.

Our work was featured in:

Tech Crunch
Forbes
Business Insider

Hybrid mobile apps in 2018: React Native vs Xamarin

If you’re just starting out with hybrid mobile apps, you might feel a bit lost. Online definitions can be ambiguous and guides will often lack updated information. That’s why, in this article, we’ll do our best to help you understand what hybrid mobile apps are, and what solutions are worth your attention in mid-2018.

So, you’ve decided to build a mobile application. You’ve done some research and contacted dozens of companies that specialize in creating native apps. Then, you got dozens of estimates with random numbers on them.

Unsatisfied with the results, you shifted your attention to non-native solutions. But, a couple of weeks later, after hours spent online, you don’t feel any wiser. Words like “hybrid”, “cross-platform” and “a mobile web app” are swirling around in your head. Most of the articles promised the earth, but they quite often present contradictory theories, which exacerbates the situation and makes you chase your own tail.

short animation with Zach Galifianakis counting numbers
Hybrid, cross-platform, React Native, Xamarin… ???

In order to learn the basics of hybrid mobile app development, let’s start at the very beginning.

Definitions

Cross-platform

By definition, cross-platform software works with many platforms. This can be a single code base running on various OS with no special preparations (like Java). It might also be the same app – with the same business logic, the same branding etc. – but written as two separate native apps, one for iOS and one for Android. All in all, “cross-platform” is a very ambiguous term.

Hybrid

Hybrid mobile apps (or simply, “hybrids”) are a subset of cross-platform software, and they have no clear definition.

Traditional hybrids are web applications wrapped in a sort of a native container.

Developers build a kind of a single-page website, make it mobile-friendly, and put it into that container. Finally, they connect it to some smartphone/tablet hardware. Voila! A web app pretending to be a mobile one is born, with one code for every platform. The container (the wrapping) comes with a framework of choice (such as Apache Cordova, Ionic, etc.).

Modern hybrids are different. They are not web apps, but actual mobile applications, written in JavaScript and translated into a set of native instructions – during runtime. Seems nice, doesn’t it? But what are the options?

Frameworks and languages

Here are the available hybrid app development tools:

  • Xamarin is a set of tools (framework) in which developers code using C# and .NET
  • React Native is a framework in which developers build products using JavaScript and React
  • NativeScript is a framework in which developers build code in JavaScript and Angular
  • Cordova/PhoneGap/Ionic are frameworks in which developers use HTML, CSS and JavaScript

What’s on the market

Business-wise, software must work, as well as be user-friendly and future-proof. Technology plays a second role. However, some technology choices have business consequences. Below, we’ve listed a couple of major decisions you can make when it comes to hybrid mobile apps.

Websites & progressive web apps (PWA)

Today’s websites are no longer just static content with a bunch of forms and links. Contemporary web apps compete with desktop and mobile software in fields of UX and functionality. And yet, not everything works the same way on a mobile phone. When it comes to working in the background, Bluetooth, battery information or iOS FaceID, web apps are a no-go.

A progressive web app (PWA) is a new concept which, to some extent, combines web and native approaches. It’s a web application that can work offline to some degree, with an icon visible on the home screen. Its limitations, however, stay the same. The app’s behaviour and capabilities depend heavily on the platform. It’s an interesting concept that can evolve and improve, but, first, it needs time to mature (iOS has just started supporting PWAs as of version 11.3).

Simple animation explaining progressive web apps
You need to remember that PWA is nothing more but a website with push notifications pretending to be a mobile app (source: easternpeak.com)

Traditional (web) hybrids

For years, traditional hybrids have been the first choice for a quick MVP or very simple products. There are many tools to choose from: the most popular Apache Cordova, its cousin PhoneGap, Angular-based Ionic, and more. The pros of this approach are: a single code base plus a lower cost of development and maintenance. What’s more, such a product can have a web version out of the box. The cons are less obvious and not everybody talks about them point-blank.

But, the truth is, you can’t 100% mimic native apps with traditional hybrid mobile apps, no matter what their creators say.

You’ll experience worse performance, inferior UX, and a narrow set of ready-to-use features to implement. There will be myriads of little things working noticeably strange or slower. Even if you’re not able to put your finger on it, the app will always seem a bit off.

Fortunately, the supremacy of traditional hybrids has ended, as the recent months brought us superior alternatives. At least, that’s what we think.

Xamarin

With Xamarin, you can build native apps for many platforms. It allows C# and .NET developers to create native apps for Android, iOS and Windows. There are 2 ways of doing it in Xamarin. The first one is Xamarin Forms, which creates a single code base which is shared among the platforms with almost no changes. But there’s a cost: Xamarin.Forms is good for building simple MVPs, rapid prototyping or very, very simple apps. Even Xamarin states in its documentation files:

Xamarin.Forms allows for rapid prototyping of applications that can evolve over time to complex applications.

So, using Xamarin.Forms for more demanding projects might be difficult.

For complex hybrid mobile app development, there’s the Xamarin Native approach. Using Xamarin Native, you get the look and feel of a native app, plus you can work with only one technology (C# and .NET). It means you can have just one team of developers to pay. Drawbacks? There’s no longer a single code base, so you end up with two separate projects to create and maintain – one for each platform. Only portions of the code base can be shared (like business logic or communication services). UI implementations must remain separate.

If you have .NET developers, Xamarin Native is a great tool as you can assign available resources to mobile development. It’ll also work on Windows, perform well and provide good users experience. In conclusion, it’s better than traditional hybrids. So what’s the cost? Time. Mobile apps created with Xamarin Native will take more time to develop compared to a traditional.

React Native

Facebook has created React Native (RN) for JavaScript (JS) developers. Using RN, you can build iOS and Android mobile apps in React (JS library for building user interfaces). Smart move, as React is very popular and battle-tested.

If this sounds like a traditional hybrid description, JS is the only link here. In RN, you don’t build websites inside a native wrapper. You develop native applications in JavaScript (technically, React and a markup HTML-like language). RN translates the code into instructions for both iOS and Android. So, you “speak” React/JavaScript, and RN translates it on the fly. This way, mobile devices can easily display e.g. an Android-specific button. This is a modern hybrid – one code for all operating systems.

This results in a better user experience and the feeling of a native app. Hybrid mobile apps made with RN run more smoothly, and the user is quite often unable to tell the difference (unlike with traditional hybrids).

Disadvantages? Some platform-specific functionalities might be difficult to achieve. Not everything available for native apps is provided off-the-shelf by RN. On the other hand, developers can add a piece of native code for missing extensions, or use one of the thousands built by the RN community. RN is used even by big players, like Microsoft or Wix, which contributes to the community’s impressive size.

In the end, RN hybrid mobile apps can’t compete with native ones in some aspects. But, usually, the final effect is more than satisfactory. The framework is a huge improvement over traditional hybrids in terms of both user experience and performance. At The Software House, we believe that it offers good value for money.

NativeScript

NativeScript is a hybrid mobile app framework similar to RN but based on Angular (another JS framework). It tackles the hybrid problem like RN does – by using native components and classes based on your JavaScript code. There’s a bunch of ready-to-use multi-platform components available inside the framework and, just like with RN, it’s possible to extend it when needed.

If you have a team of JS developers who are experienced with Angular, NativeScript is definitely something to consider. Just keep in mind that, as for now, it has a significantly smaller community in comparison with RN. This equals fewer ready-to-use plugins and libraries.

Xamarin Vs. React Native

With NativeScript yet to grow and mobile web apps lagging behind, in August 2018, Xamarin and React Native seem to be the main players in the field of hybrid mobile app development. At least, that’s what we think. Let us now compare those two.

Google Trends comparison of React Native and Xamarin web searches
A comparison of React Native and Xamarin web searches from the last 30 months. As you can see, React Native took the lead approximately 1 year ago (source: Google Trends).

Code Base

There’s one code base in RN, fully shared between platforms. As a result, there’s rarely any platform- specific code needed. This generates certain limitations, but, at the same time, significantly reduces the development time and cost. To achieve a more native approach, Xamarin developers share only portions of their code. UI is built separately for each platform. This generates a more native feel of the Xamarin UI, but also results in longer development.

Supported platforms

Right now, RN supports iOS and Android, covering more than 90% of mobile devices in the world. Xamarin supports both iOS and Android, plus Universal Windows Platform and macOS. Choose Xamarin if these platforms are critical to your business.

Resources required

For RN, you’ll most likely need frontend developers experienced in React, but any JavaScript developer should handle the task as well. To code hybrid mobile apps in Xamarin, you’ll probably want to find experienced .NET developers.

App updates and bug fixes

RN executes JS code during runtime. It means that you can improve your app and fix bugs without updating the app in the store – some clients may not even notice the updates happening. Xamarin precompiles the code for each platform during the build, therefore, no dynamic updates are possible. When you want to introduce bug fixes, you’ll have to update the app in the store every time.

Use cases

RN is suitable for:

  • Apps requiring few platform-specific functionalities and component o Apps that are not too complex and don’t require native UI
  • Rewriting your old traditional hybrid
  • Apps with a lot of custom design, but with native UX

Xamarin is the way to go when:

  • You or your affiliated company has a team of .NET developers
  • Access to complex, platform-specific functionalities is needed
  • You need to use native components for each platform, making the UI indistinguishable from the traditional native app UI
  • You target the Windows platform

Summary

When it comes to hybrid mobile app development, everybody praises their own technology – keep that in mind. What’s more, when you’re searching for more information, you should always look at the timestamp – in the mobile world, a few months is like a century, so a two-year-old article might misinform you a lot.

There are various cross-platform technologies on the market, but few of them are both mature and future-proof. Traditional hybrids are out of the picture – they’re already past their prime. In contrast, both Xamarin and React Native present powerful means of building hybrid mobile apps. At The Software House, we use React Native, as we have a strong React team. Ultimately, the choice depends on your preferred resources and the business purpose of the app. So, finally, when looking for a team to develop your cross-platform app, just keep in mind these few points present above and you’ll be fine.

Mid-year review of the 2018 tech trends: Is the 4th industrial revolution here?

We’ve just reached the middle of the year. That’s the right time to revise some predictions about 2018 tech trends. Is it “the year of transition” indeed? Will blockchain, artificial intelligence and virtual reality let us start a new industrial revolution? Or, maybe, we’re already witnessing the times of Industry 4.0?

Three industrial revolutions

Industrial and technological changes are rapid these days. Sometimes, it’s difficult to be up to date with all the tech trends and fancy gadgets. But hey – it’s nothing new at all! Through the ages, innovations have always accompanied men. The first, historical example of perfecting the industry by the mankind is dated to mid-18th century. It was the beginning of, so-called, age of steam. And no, not the Steam we use to play video games – rather first steam engines. It helped to get a new source of energy and meant the emergence of mechanization. Some new changes came at the end of the 19th century with the age of electricity and production lines.

The newest industrial revolution was the age of computers which started in the 20th century. Nuclear energy, microprocessors and computers – it all shaped the technology we know nowadays. But obviously it’s not the end.

Last year was known as the “year of intelligence” when, for example, massive hard drive-to-cloud data migration began. 2018 is sometimes called the “year of transition”. Some people say we’re stepping into the age of Industry 4.0. But are we? Let’s try to find some answers below.

Predicted 2018 tech trends

High-tech enthusiasts and influencers love sharing their opinions about the tech trends on social media or blogs. You might have noticed that recently they took a fancy for creating lists of tech trend predictions. 2018 is no different at all. Whilst researching the late-2017 and early-2018 forecasts, I’ve found a few lists with variety of trends foretold by trendsetters. I’ve picked a few, most often repeated and briefly revised them.

Blockchains

If you’re an active Internet user, you must have heard about blockchains. You may have your own opinion (positive or negative) or be neutral. But for the article purposes, let’s assume you haven’t heard a single word about blockchain. Then – what is it? The Internet says: “blockchain is a decentralized and distracted open source directory based on P2P architecture. A growing list of records, so-called blocks – linked and secured. Each part contains a hash of the previous block, a timestamp and transaction data. It might be used for transaction accounting, payment or decentralized social networking – to name a few”. Sounds like a black magic? In brief – it’s a decentralized database with plenty of potential functionalities.

It ain’t easy to define blockchain in straightforward way
It’s difficult to define blockchain. This animation gives a glimpse of how it works and how each part of the chain contains a hash (#) of the previous block (Source: realdolmen.com)

Michał Bacia has written in his post, 5 things to consider when developing blockchain software for the very first time, that “the technology scope and usability make it a powerful tool for software development” but he also added that “it’s still very new”. So, what was the first half of 2018 for blockchains?

Popularity wise – it’s huge. When I’ve asked one of the blockchain enthusiasts, professor Emin Gün Sirer from Cornell University for his opinion, he responded:

“2018 was the year when ICOs (Initial Coin Offerings) took off, and blockchains started to provide some new functionality to supplant traditional VC (Venture Capital) funding. The price action is immaterial in the long term”.

He also pointed out that “what matters now are new use cases, new forms of liquidity, and more inclusive finance, as demonstrated with the ICO market”. It’s difficult to disagree. Japanese employers consider paying workers in bitcoins and the real estate market is planning to use blockchain to gain more transparency. Australian government is investigating the potential of using the technology and it has already been successfully implemented during election in Sierra Leone.

Sounds good, right? Even though majority of information is rather positive, there are some alarming voices either. Blockchains and cryptocurrencies are considered to be safe, but recently we hear more and more about successful cyber attacks. American economist, Warren Buffet, said that bitcoin is “probably rat poison squared” and warns investors to avoid cryptocurrencies.

We can notice that positive aspects of blockchains seem to prevail. It’s definitely worth keeping an eye on this technological trend but also staying reasonable.

Progressive Web Applications (PWAs)

Another 2018 tech trend isn’t as famous as blockchains, but may turn the tech world upside down. Progressive Web App (PWA), a new type of a web app, works as a website, but it looks like a mobile application. What’s more, some of its functions work offline. Sounds tempting?

PWAs are more and more popular and all the big fish like Microsoft, Google and Apple are watching this space. We can already use progressive versions of Instagram, Twitter or AliExpress.

Some of the PWAs enthusiasts, like blogger Jon Stødle, seem to be certain: “PWAs are going to eat the (app) world”, as per the title of his blog post.

But a lot of potential users are reluctant – they don’t want to give their browsers more data access. Of course, both sides are exaggerating. Then, what’s going on with these PWAs?

First of all, PWA will always be a website. Nothing more, but a website with push notifications – pretending to be an app. Users don’t have to install it, but they need to add a shortcut to the menu and wait until it’s done. You can use it offline. But what can you do with, let’s say, Twitter with no Internet connection? Not that much… Only scroll down the recently saved feed. Also, PWAs aren’t fully compatible with all the operating systems and lack some crucial native/hybrid apps functions. But, on the other hand, PWAs may be a cheaper alternative for a hybrid app.

PWA install mechanism is rather easy
Potential users need to remember that PWA is nothing more but the website with some app features (Source: easternpeak.com)

There are pros and cons, but, at the end of the day, it’s probably the big tech companies who will “help us decide” whether PWA is hot or not.

Internet of Things (IoT)

There are circa 9 billions of devices connected to the Internet at the moment. And the forecasts are overwhelming. Even up to 55 billions might be the part of global network by 2025. Soon, we may live in the world where almost everything (home appliances, wearables) is smart. Let’s imagine a fridge preparing a shopping list for you or, at least, telling you what’s inside. This is Internet of Things – another 2018 tech trend to focus on.

Smart Fridges have Internet connection, can mirror the Smart TV screen and also show you what's inside
Smart Fridges can show you the inside, but also mirror the Smart TV screen for you (Source: gadgetmatch.com)

IoT is one of the most rapidly developing areas of technology. The idea now is to create a stable connection between various “smart” devices and it’s, in fact, getting more and more common. For example, you can start working on one device and continue it on another. Most of you are probably familiar with the Handoff functionality from Apple – letting you switch between macOS and iOS – but that’s not all. Let’s just say that Samsung’s smart fridge is able to mirror your Smart TV screen.

The most vulnerable point of Internet of Things is its security – a major threat, not only for enterprises but for all the people using connected smart devices.

Security should be an area for IoT improvement in the second half of 2018 and some companies are already using blockchains to improve security. No one really wants their fridge to be hacked, right? But it shows an another flaw of IoT: it’s not really an independent technology itself, as it needs, for example, AI or blockchain to work properly.

Internet of Things is the future. We already live in smart houses and we may live in smart cities soon. That’s good, but on top of that – we must remember about security.

Artificial intelligence (AI) and robotics

Another 2018 trend on our list is one of the oldest. A real history of AI started with the first serious example – Turing Test in 1950. Currently AI is able to beat humans in popular games as backgammon, Scrabble, chess or Go. And it’s just the beginning.

Nowadays, it’s not only Boston Dynamics who develop robots which perform backflips. All the big companies are developing more and more AI software. Smart assistants being able to wake you up or remind you to go to hairdresser are outdated. Soon smartphone will make the appointment for you. And the hairdresser wouldn’t notice that they spoke to the machine – thanks Google. Yup, it’s creepy, but again – this is the future.

Atlas' progress is impressive but also a little bit scary
Atlas’ progress is stunning: Boston Dynamics’ robot is now able to perform backflips (Source: nerdist.com)

Even though majority of artificial intelligence functions are making our lives easier, there are some setbacks or possible threats. More and more humans might become redundant in factories, due to robots, and even software developers cannot feel safe, as the artificial intelligence is already capable of writing simple code.

We also shouldn’t forget about the hottest AI topic recently: the idea of autonomous vehicles. General Motors already announced that from 2020 their flagship vehicles will be autonomous.

Sounds good and convenient, but we need to remember about issues like the lethal car crash caused by self-driving car few months ago. Was it human’s fault or was the AI, at least partially, responsible?

Artificial intelligence input is inevitable. In contrary to these “scary” examples, we can see positive examples. A huge help of technology in science, automotive and medicine. Obviously, the more scientists explore, the more they want. The question is – where is the border? And if there is any? 2018 is already a successful year for AI and this should be the trend to preserve. But, again, we must remain reasonable. If not, a reality out of the scariest movies may come true. To be honest, I’m already pretty afraid of some of the Boston Dynamics robots.

Virtual reality (VR), augmented reality (AR) and mixed reality (MR)

The last-but-not-least example of a 2018 tech trend is sometimes called “the fourth dimension”. Most of you probably heard about VR and AR. Virtual reality shows us another, interactive places thanks to the goggles. And I bet at least half of the readers tried viral Pokémon GO game – which uses the augmented reality. And MR? It’s a mixture of VR and MR, popularized by Microsoft. Which of these technologies is the best? All were predicted to succeed in 2018. But how is it in fact?

Thanks to IKEA app, you don't have to spend much time in the store, looking for a perfect piece of furniture
Thanks to augmented reality, you don’t need to spend that much time looking for a perfect piece of furniture (Source: giphy.com/adweek)

Some tech influencers say that VR and AR technologies are still quite popular but imperfect (low resolution, limited functions). Gadgets sales rates in 2018 aren’t that bad but bit disappointing. And finally – how many meaningful AR/VR application you saw after the viral Pokémon GO? Thanks to Ink Hunter you can visualize tattoo before inking. Google Translate can help you understand newspaper abroad. Finally, you don’t have to spend two days in IKEA choosing furniture, as IKEA Place lets you try holograms in your living room. That’s pretty cool, but well – not enough for some users.

There’s a hope called the future. In fact, all these new realities are still very young, but infiltrate wherever they can. Sooner or later, most of the companies may use these technologies to expand their marketing.

What’s more, “VR doesn’t have to be an isolating experience; it can be a social one”, as Cathy Hackl, high-tech enthusiast, wrote in her blog post VR: A new era for employee comm.

In fact, it may be the future of communication in business, providing virtual conference rooms. Also, medicine may take advantage of mixed reality – it may raise complex surgeries to the higher level, showing precisely where the wound is. 2018 may not be as generous for “the new realities” as some predictors thought, but higher quality, more useful applications and further convergence with AI shall help.

Summary

Were the predictions right? Well, almost each technology mentioned above had its ups and downs in 2018 but still can achieve more. We can risk the statement that forecasts were accurate. Industry 4.0 is already knocking at the door and if we let it in – it’ll stay with us for good. We’re witnessing the eve of the new era where the barrier between humans and robots fades away and the shape of smart cities, powered by blockchain energy and managed by intelligent machines, is in our hands. The question is: how would we use this power?