Skip to content

Mobile
Development

Android/iOS, Flutter and morev

Whether you seek to offer a mobile version of your software or want to bring a completely new app on the market, we can help you to meet the high expectations your users have on all platforms.

Photo of a Parkside female developer working on software development projects, page header

In a nutshell

Today’s market standards for well-rounded apps that offer great user experience are high, but so are the user expectations, regardless whether they are Android or iOS users. Two major approaches to app development are native and cross-platform development. Although a hybrid approach, thanks to frameworks like Flutter, offers the greatest and fastest ROI, the final decision regarding which way we’ll go about developing the right app for your users is always based on project requirements.

Cross-platform vs. native development

Apps are usually developed with one of two distinct approaches: natively or with a cross-platform framework such as Flutter or React Native. Native development consists of working with the SDKs of Android and iOS and coding in Java / Kotlin and Swift respectively.

This requires the apps to be developed independently for each platform without there being a common codebase upon which they are built. Working with cross-platform frameworks on the other hand allows developers to implement features in one language (such as Dart in the case of Flutter) which is then compiled into native ARM code for the respective platforms. However, does a cross-platform approach really accelerate the development processes? In which respects does it have the upper hand?

Cross-platform development frameworks

The community behind cross-platform mobile development has grown and many new options have emerged which outperform the simple outdated HTML approach. Two of the big contenders of this kind of development are Flutter and React Native.

Each framework has its unique architecture to build apps, so they each have their pros and cons. While native apps offer superior user experience and performance, cross-platform frameworks are designed to save costs and speed up development. Let’s take a closer look at them.

What is Flutter?

Flutter is Google’s open-source development kit to create 2D cross-platform apps. It’s based on the programming language Dart, also developed by Google. The application is compiled ahead-of-time into native ARM code which results in a better performance.

Flutter is not supposed to be a wrapper on top of iOS/Android but draws the UI from scratch using a C++ Library called Skia. The Flutter team promotes it as an efficient tool for prototyping because of its hot-reload functionality. Developers who are familiar with OOP concepts can quickly adapt to Dart/Flutter without much mobile experience.

What is React Native?

React Native is based on Facebook’s React JavaScript Library targeting mobile platforms. The framework was released in 2015 and allows developers to write native mobile applications using JavaScript.

Many companies, among them Airbnb and Facebook, are using or have used it in production. The React Native bridge invokes native rendering APIs for iOS & Android, so it uses the platforms’ real UI components. Similar to Flutter, it also provides a hot-reload feature.

Comparison

01

UI & UX

There are different ways one can go about designing your app: either by following the guidelines of each platform and thus keeping the user in a known environment or going for a unique custom design to represent the brand and letting your product stand out. The latter can be a more or less viable approach depending on the purpose of the app and your company brand.When it comes to implementing designs, there are different concepts used in the different approaches. Native IDEs offer diverse possibilities to create the UI, either by means of a visual editor, markup language or code. Flutter on the other hand is based on widgets which are created in code. The UI is then created by combining and stacking them. As for React Native, JSX (a mixture of JavaScript and XML markup) in combination with stylesheets are used to create UI.
02

Performance

Among the most important factors is certainly performance. Native development has the advantage here because it is the option that is most optimized for the respective platforms (if developed accordingly). But how do the cross-platform approaches fare? Flutter is compiled into native ARM code, which prevents any major performance issues. Likewise, the Skia framework used to render the UI is also fast and has no drawbacks in comparison with the native one. In React Native, real JS code is passed through and converted during runtime, which leads to some inevitable overhead and an impact on the performance. It’s been shown to have greater demands on the CPU compared to Flutter and native, and both cross-platform approaches require a bit more memory.
03

Productivity & Maintenance

Perhaps one of the most relevant aspects from a financial point of view is the main selling point of cross-platform development, which is that it is supposed to require less resources. However, writing code once and automatically supporting both Android and iOS does not entirely correspond to reality. Developers still have to write a certain amount of platform-specific code or treat the platforms differently. Therefore, while some time can be saved, it also does not cut it in half and having an experienced native mobile team will be more effective than switching to Flutter or React Native. However, if the goal is to have web developers make the switch to mobile development, Flutter and especially React Native can be a very sensible choice given that it builds on skills they already have.As regards maintenance, the main drawback of cross-platform is a delayed reaction to platform updates. Developers may have to wait until they can start adapting apps to support new OS versions or they might need to wait for updates to the SDK when there happen to be bugs or issues.
04

Native features

While the setup of the team is one of the crucial factors when choosing a development approach, another element that informs the decision process is the fact that features specific to iOS or Android or that behave differently need to be dealt with separately. Other hardware-dependent features like Bluetooth interfaces, however, can be implemented indiscriminately with frameworks like Flutter, which can then prove a much more convenient choice even in teams that would have the resources for native development.

Conclusion

There is a valid case to be made for cross-platform development. It is fully possible to achieve the same look & feel as with native development, which makes it a viable option for independent developers who seek to support multiple platforms and helps web developers to more easily set foot into mobile development.However, for development teams that have enough resources in terms of mobile developers, native development will remain a safer option, due to the fact that there are no dependencies on other companies and frameworks.
15+
years of experience
100
employees
500
successful projects

Why we make a difference

Technology expertise

When working with Parkside you can count on in-house experts for all common platforms and technologies as well as latest know-how in QA, DevOps & SecOps areas.

Cross-functional teams

Our interdisciplinary teams cover all stages of custom software development — from conception & design to programming & quality assurance.

Agile and iterative workflows

Thanks to agile project management and an iterative approach we deliver a high-quality product on time and on budget

What our clients say about us

“The experts brought in by Parkside showed exemplary commitment, perseverance, a solution-driven attitude as well as seniority that can facilitate the business decisions also on the client side.”

Mikko Knuuttila
Intrapreneur

“This experience far exceeds my experience with other companies. From a technical point, it was outstanding. They also generate great ideas.”

Red Bull Media House
Project Manager

“Parkside’s work was a game changer for lynda.com. They allowed us for the first time to fulfill our ubiquity strategy of everywhere, all the time. The apps gained the highest reviews in company history.”

Eric Robison
CEO

Want to work with us?

Great digital products and services require
detailed research and development.
Let’s talk about your needs.

Contact us