App Development

App development is more than creating apps for smartphones. Today, it's an umbrella term for apps for a variety of devices and technical frameworks. We'll go over the concept, the differences and what you need to know before you get started with app development and of course, how we can be of service by providing you with app developers in Stockholm.


Table of Contents

  1. What is app development?
  2. Native, web or hybrid app?
    • Native app
    • Progressive web apps
    • Hybrid app
  3. Framework for app development
    • React Native
    • Xamarin
    • Flutter
  4. Put the user's needs first
  5. Customer case: app development that takes social responsibility
An app developer at Prototyp works with many different frameworks and devices.

What is app development?

The word app is an abbreviation of the word application or mobile application - usually associated with smartphones and tablets. An app is mainly used to provide additional functionality to a device. It is also the latter that is taken into account when developing an app - i.e. what function is to be created.

The strength of an app is often to perform one or a few tasks very well, on a device that the target audience usually uses. It can be a feature that complements a company's existing presence or simply be the primary product for a business. Ultimately, it's about translating the needs and behaviour of the target audience into technology and user experience where the former determines the latter.

iOS and Android are usually what you come to think off when hearing mobile app development.

Native, web or hybrid app?

When you think of app development, you probably think first and foremost of native and mobile app development for iOS and Android - which is no wonder. However, with more types of devices available which are changing consumer behaviour and technological developments, the choice has become wider when it comes to deciding the "format" of your app. The format affects the functionality and cost of app development.

1. Native app

An app that is developed separately and for a specific operating system (such as iOS and Android) is called a native app. They are usually (but not necessarily) built using only the respective operating system's own tools and components.

The advantage of a native app is that it often brings a better-looking interface and higher performance. This is because the app is installed and ran directly on the user's device (usually a smartphone) and can therefore directly use its hardware. If we take the smartphone/tablet example, this means that an app can access and use built-in features such as the GPS, camera, gyroscope, accelerometer and microphone.

The disadvantage of native app development is that apps need to be developed separately for each platform and updates may take a long time to roll-out.

2. Progressive web apps

The reason why a native app has long been chosen over a website (in terms of functionality) is because an app can do more than a website can. Today, this is still true, but the difference has become less significant.

A progressive web app (PWA) is a "downloadable website" that looks and works like an app. The app saves an offline version of the website so users can access the content without having an internet connection – something that is not possible with a responsive website. As web apps can be accessed via the web and via a downloaded, offline version, their dependency on operating systems, connections and devices is reduced – thus giving progressive web apps a kind of "universal compatibility".

Since it is still a website, developers do not have to upload the app via the App Store and Google Play, which shortens lead times and creates more freedom in the distribution of the software and results in smoother app development for developers. If the user is online, it means they always have access to the latest version. PWAs are essentially websites, which means pages within the app are indexed and can be found through search engines – allowing users to share and link to different parts of the app.

3. Hybrid app

A hybrid app, as the name implies, is a hybrid of a native app and a progressive web app. They are built with a codebase suitable for both iOS and Android and can be downloaded from their respective app stores. The codebase for hybrid apps is HTML5, a codebase that has come a very long way and embraced much of what was otherwise an advantage of developing native apps. These include being able to use many of the mobile's built-in features such as geolocation and push services.

The reason hybrid apps have become more common and an increasingly popular choice is because companies have discovered the difficulty of supporting multiple mobile platforms. Companies want to get away from native app development's dependence on operating systems and potential complications. These include the fact that operating system version updates can create bugs and even crashes in one's app.

Another advantage of hybrid is that you develop a single app, which can be used for web, iOS and Android instead of developing one for each platform. This usually means shortening the development time and reducing the cost of app development.

As with anything hybrid, such a solution may mean losing some functionality compared to, say, a purely native app. It also makes it more complex to roll out broad design changes because users who have not updated the app itself will be left with a mix of old app design and new web design.

Framework for app development

There are a number of frameworks for app development, but the three most widely used and the ones our app developers have mastered most, are those that have Facebook, Microsoft or Google as their senders.

React Native

React Native is maintained by Facebook and is an open source framework that is currently one of the most popular frameworks for app development. React Native is related to the React.JS library used for web development and therefore much of the app development itself is similar to developing a website.

Unlike other JavaScript-based frameworks, React Native has a more direct and robust connection to the platform's hardware and because it flows and responds better to user input, it gives that typical "app feel".

Xamarin

Xamarin has been around since 2011 and is a cross-platform framework for mobile app development and was developed by Microsoft. It is based on and uses the C# programming language and compiles UI code down to the platform's built-in components. This means that Xamarin can be used to create very powerful apps that make maximum use of computing power.

Flutter

Flutter is an open-source framework created, by Google, for reactive programming. It is a relatively new framework but has grown rapidly since its inception in 2018. Flutter disregards and bypasses the components of the driving platform and instead renders the UI and graphics in its own 2D rendering engine. This allows you to create fast apps that are less reliant on built-in components.

Put the user's needs first

The question isn't whether to build a native web or hybrid app. The question is what needs and for whom you should develop functionality.

  • Do you need to be able to send push notifications or is SMS enough?
  • What hardware(s)?
  • Will the app be used in markets with poorer connectivity, expensive data plans and/or support for older phone models?
  • What are the privacy requirements?

Customer case: app development that takes social responsibility

If there's one thing we're passionate about at Prototype, it's projects that involve sustainability and taking social responsibility. On that line, we're happy to break new digital ground. That's where the opportunity arose for our app developers in Stockholm, together with Antrop and Gapminder, to create an app that would change the worldview of the masses and defeat ignorance on a global scale.

Native vs. web app was an issue raised early in the project and after careful consideration based on what the goal was for the product, the answer fell on developing a web app. No "app store guardians", no device dependencies and no downloads – in other words, good conditions for releasing a globally scalable product.

Read more about the case

Looking for app developers in Stockholm?

Our team helps startups, service design agencies and large corporations make the right technical decisions and ensures an efficient app development process. Our app developers in Stockholm have experience with iOS, Android and cross-platform frameworks such as React Native.

We are passionate about breaking new ground and are more than happy to help and develop Proof-of-Concept, Prototypes, MVPs for cutting-edge app ideas.

Let's talk app development

Get started with App Development

Our team helps startups, service design agencies and large corporations make the right technical decisions and ensures an efficient app development process.