• Tomasz Soroka

Mobile App Development — Technology trends for 2020

Frameworks for developing mobile applications are more and more mature. There is a lot of them on the market, but when you are going to invest in your mobile app, then you should take into account their predictability. There are hybrid technologies, cross-platform frameworks, and many others that offer a rewarding experience to both — developers as well as end-users.


What mobile development trends will be top in 2020?

Before I answer this question, let's understand how the mobile development market is divided.In general, we can divide frameworks into a few categories:


  1. Native development

  2. Cross-platform development

  3. Hybrid development


1. Native Development

Native development means developing mobile applications in dedicated tools for iOS and Android developed by Apple and Google. It's a standard approach which, in theory, gives the most significant control on a mobile app development - you are using native development tools, so you are not limited by a hybrid or cross-platform approach.


From the other side, in this approach, you need to write code twice - once for iOS and secondly for Android. It is always time and money consuming.


2. Cross -platform development

The first widely used framework in this approach on the market was Xamarin. The idea was simple - write as much percentage of shared code as possible. It means that you could reuse many parts of the mobile application for iOS and Android.


In a typical scenario, you could share around 80% of code between platforms. From the other side, always for Xamarin was to achieve almost the same performance as native applications.


3. Hybrid development

The third approach is hybrid technologies. The main goal here was to allow developers to create mobile apps without more in-depth knowledge about mobile development. It is a pros because you could involve a web developer to mobile your mobile app.


From the cons, you should note that hybrid technologies have some limitations, which can have a very negative impact on your project. It emerges when your app is being bigger and bigger, and you start adding more advanced features. In my practice, I had many clients who came with apps developed in hybrid technologies, with a request to rewrite them into cross-platform.



Before you start developing a mobile app, you always ask a question - what approach, technology should I use?

Before I answer this question, let's go through the most important technologies, which are top in 2020?


Xamarin


Xamarin is a very matured framework for building cross-platform mobile apps. It has excellent support for wearables and can help create native apps for Android Wear and Apple Watch. In Xamarin are two approaches to building cross-platform applications. First is called Xamarin Native, where you can share code between platforms, but the user interface is developed separately for each platform. Thanks to this approach, it is easy to build applications where the user interface is fully customizable as in native development. The huge advantage is sharing around 70-80% of the code.


The second way is building a mobile application with Xamarin is by using Xamarin.Forms. It is a Xamarin answer to such frameworks as hybrid Cordova or React.Native. With Xamarin.Forms you can build user interface without knowledge of native UI development. You use standard components that are available for both platforms. It makes development more comfortable, but - as a downside in more complicated scenarios, it's less efficient than Xamarin Native. Choosing the right approach depends mainly on how the app interface is advanced.


Key Features


  • With Xamarin you can build very big applications

  • Xamarin is owned by Microsoft and is very well integrated with Microsoft ecosystem

  • It is one of the robust frameworks which focus on all leading mobile platforms keeping intact the quality and performance quotient

  • A lot of components and libraries available on the market

  • Excellent integration with Microsoft Azure cloud

  • Well-proven technology


Links to some examples:



Links to interesting articles:



React Native


It's is a framework owned by Facebook. The main goal for Facebook was to allow developers develop mobile apps by using ReactJS library. After adding some mobile-specific components, React.Native was born. It has been adapted, by the IT industry, as one of the best JavaScript libraries owing to the multifaceted ReactJS web and mobile apps that it develops. React Native is somewhere in the middle between cross-platform and hybrid development. It's quite comparable to Xamarin.Forms by using the same controls / components between platforms. It's a bit harder with native UI access.


Key Features


  • Using of same UI blocks as in regular iOS / Android apps

  • Seamless combination with components in Java, Swift, and Objective-C

  • Supports cross-platform development with Android / iOS

  • A quite big library of React Native components

  • Component-based assembly builds more agile method to development


Links to some examples:



PhoneGap / Cordova / Ionic


A bunch of hybrid technologies all based on Apache Cordova. Apache Cordova is considered one of the most efficient tools for creating mobile apps with HTML5, CSS, and JavaScript. Simple to use when you are going to build a hybrid application. As I wrote above, it's easy to start building a hybrid app this way, but very fast, you can also meet complications and challenges. These technologies should be chosen carefully based on excellent knowledge of the final shape of the developed app.


Key Features


  • Compiles using SDK of the platform and installable on all leading platforms

  • Offers high flexibility to hybrid app developers

  • Easy way to build a simple mobile app by web developers

  • - Easy access to device hardware


Links to some examples



Flutter


Flutter is an open-source mobile application development SDK developed by Google. It is used to advance applications for Android and iOS, as well as being the leading choice for crafting applications for Google Fuchsia. Like many Google technologies, Flutter based on the Material Design approach. Flutter uses a Dart language - which is a bit of a downside because developers need to learn it. From the second side, Dart helps a lot in Flutter development because it was one of the goals for this language to make development more comfortable and faster. The major components of Flutter include the Dart platform, Flutter engine, Foundation library, and Design-specific widgets.


Key Features


  • It incorporates a modern react-style framework, instant gadgets, and development tools.

  • It has a huge support for the creation of customized interfaces with unique themes and priorities according to your needs.

  • A new feature is there known as "Hot Reload." Using this tool, you get access to a wide range of widget set along with working on the dynamic interface with ease.

  • Supported by Google, it is lightweight and supports cross-platform mobile app development

  • End users get a look and feel like most of the Google products they use


Native development


It's always an option. You can use proven technologies and frameworks for building fully native apps for iOS and Android. The most significant and foremost advantage is that you use tools and techniques developed and recommended by Apple and Google. In theory, native applications have the best performance and security, and you have access to everything that each platform is offering.


From downsides - the main one is that you need two teams of developers who need to work separately on the application for each platform. Additionally, you need to manage both teams and synchronize their work as well. In might be a huge challenge, and this is why all cross-platform hybrid technologies appeared on the market. Even if Google proposes its answer to this challenge (mentioned Flutter), it means that the problem exists.


In some rare cases, native development is the right answer - especially when you dig deeply into hardware, security, etc. But 90% of apps on the market can be developed much faster and cheaper with cross-platform and hybrid technologies.


How about other frameworks and technologies?

Frameworks mentioned above are not the only way to develop mobile applications. There are more of them on the market, but there are not so popular as those described here.


Very important is not to start development with frameworks that are not popular or doesn't have excellent support from companies or communities behind them. It might be a risk for you if you plan the lifecycle of your mobile application longer than 1-2 years.


What technology should you use?

Of course, the correct answer is - it depends. First of all, the main criterion should be what the application is for, whether there may be requirements that will impede or prevent its implementation in a given technology.


Another essential criterion is the availability of a development team that has experience in a given technology. If I had to choose, I would prefer an experienced team in technology that offers fewer opportunities than a team that carries out a complex project in a technology that they do not know. It is important because, in addition to technology, elements such as:


  • appropriate application architecture

  • quality of created code

  • testing process automation

  • appropriate project documentation


Have a huge impact on your final success.


You can read more about the significant challenges in software development here:


Challenges you may face when you develop a software product


Are you planning to make a mobile application?
Don't you know what technology to choose? Contact HERE! And get 20 hours of FREE consultations with our experts during which you will receive: ✔️Business Analysis ✔️Mockups ✔️Estimation
I will also gladly answer all of your questions.

Join to our product development mailing list 

We send every month a newsletter with news in a product development area. We promise not to use your email to any other purposes!

How we can help you ? Contact us.

If you're not absolutely satisfied, we don't want your money. Read more.

SUCCESS STORIES
  • Grey Twitter Icon
  • Grey LinkedIn Icon
  • Grey Facebook Icon

© 2020 by Leaware