Mobile app development for iOS, Android & Web
Android/iOS App vs. Flutter vs. Capacitor vs. PWA vs. Webapp
We are mobile app experts from Switzerland
The range of companies offering mobile app development is broad. However, most companies specialise in only one type of app development. PolygonSoftware offers important advantages as your partner for mobile app development:
With our broad know-how of technologies, we find the perfect solution for your use case.
Apps developed by PolygonSoftware always run on all smartphone operating systems and never have to be developed separately twice.
Our references in Mobile app development for iOS, Android & Web.
In order to reach customers on Android or Apple smartphones and tablets, various technologies are available. This article will help you decide which technology is right for your business case.
Native Android/iOS App Development
Two operating systems currently dominate the smartphone market: Google's Android and Apple's iOS. In order to address all possible users with a mobile app, it is therefore essential to develop an app for both operating systems. However, because the two platforms compete with each other, until recently developers were forced to develop two completely separate apps: One using Java / Dart for Android smartphones, and a second using Objective-C / Swift for iOS smartphones. This not only leads to double development costs, but also to high maintenance costs, as two apps have to be developed and maintained separately.
PolygonSoftware therefore only recommends that its customers use this option in rare cases and usually suggests newer technologies that allow simultaneous development for both platforms. This not only halves the development costs, but also guarantees that both iOS and Android users enjoy the same possibilities in the app. Over the three years, three core technologies have emerged that are used for modern app development and in which PolygonSoftware specialises.
Flutter App Development
Google recognised the problem of dual development several years ago and developed a techology called "Flutter", which is highly trusted by many start-ups and enterprises. Flutter is a framework that can be used to develop apps for both operating systems, iOS and Android, at the same time. The code is written only once and can then be used on both groups of devices. Flutter converts the written code twice in the background to be compatible with the respective smartphone type. Apps developed with the help of Flutter not only have a high speed of use, they also look like native applications. Both Android and iOS have clear guidelines on how apps should look.
Android has summarised these guidelines under the term "Material Design", Apple calls their design system "Cupertino". Flutter automatically ensures that the respective apps are tailored to the design guidelines of the platform. This makes it virtually impossible for an end user to distinguish an app created with Flutter from a native-developed app. PolygonSoftware recommends development with Flutter for companies and start-ups for which the main sales channel is the app and which have high performance requirements. For example, the Flutter technology is an optimal solution for the SBB app: the app must be able to be opened and operated very quickly and with the touch timetable you have some features that are difficult to implement with other technologies.
Capacitor & Ionic App Development
A similar possibility to Flutter is the development with the open-source platform "Capacitor". However, the technology used in the background between Capacitor and Flutter differs greatly: While Flutter converts the written program code to produce native apps for both systems, Capacitor uses a web container. An app developed with Capacitor is basically a small web app that runs in a virtual web browser packaged inside the app. To program a Capacitor app, one therefore first develops a web application using JavaScript and common frameworks such as Vue, React or Angular, and then packages it using Capacitor into an app that runs on iOS/Android. Similar to Flutter, this technology also enables the apps to automatically adapt to the design guidelines on the respective operating system and thus always look like native-developed apps. At the same time, the technology offers a decisive advantage over Flutter: Capacitor apps are basically a web app. The same code that can be used to develop the iOS/Android app can be reused to generate an app that runs on any web browser: Chrome, Safari or Firefox, on iOS, Android, Windows, MacOS or Linux.
In addition to the iOS/Android apps, a web app is also provided free of charge and can thus be targeted at users who want to access the app's functionalities conveniently from their computer. However, the technology also offers some disadvantages: Since Capacitor apps run in a virtual browser, they are often slower than apps developed with Flutter and have a larger download size. This circumstance is negligible for the vast majority of applications, but it does come into play for apps such as YouTube, which are performance-intensive. Furthermore, certain functionalities that are included in the generated Android/iOS app may not be included in the browser application. Functionalities such as file manipulation or push notifications cannot be used from the browser. This may mean that the browser version of the app does not enjoy the full range of functions compared to the iOS/Android apps. However, from experience, 80-90% of the possibilities are usually transferable. PolygonSoftware recommends a solution with Capacitor for companies and start-ups for which the app represents a central area, but certain functionalities should also be available for use on the web. For example, the WhatsApp/Threema app would be a good candidate for development with Capacitor: chatting is mostly done via smartphone, but being able to call up the chat window - with certain restrictions - on the PC is a nice thing.
PWA - Progressive Web App Development
Progressive Web Apps, also called PWAs, are based on web technologies such as Vue, React or Angular, just like Capacitor Apps. However, PWAs do not go to the trouble of packaging the web app in a virtual browser so that it can then be installed as an iOS/Android via the AppStore or PlayStore. A PWA always runs in a web browser, so it is first and foremost a web app. However, PWAs can also be installed directly from the browser on the smartphone or computer and then enjoy a status that is comparable with the Capacitor apps. Depending on the operating system, PWAs can send push notifications, access the camera and much more, just like normal apps. PWAs also adapt their external appearance to the platform on which they are installed, so that they do not differ visually from native apps. The biggest difference between PWAs and all the development methods mentioned so far is therefore in the installation on the end device. PWAs are usually installed directly via the browser by showing the user a small pop-up that installs the PWA on their device with one click. PWAs are typically not distributed via the Apple Appstore, Google Playstore or Microsoft Store - even though some stores would certainly offer this option. This type of installation has the disadvantage for users that they cannot search for and install the app in their app store as usual.
At the same time, however, this circumstance also turns out to be a great advantage for the developers: By not distributing the app via the appstore, they not only save themselves the associated fees, but can also release updates more quickly that do not have to be manually approved by the appstores. PWAs are much closer to web apps than to native apps. Therefore, they also have to make trade-offs in how they can communicate with the operating system. In particular, communication with the Appstore/Playstore is very limited. For example, you cannot process a monthly subscription via the store or access FaceID from Apple. You are forced to integrate your own payment service via credit card into the PWA. PolygonSoftware recommends app development via PWA for companies and start-ups that want to build up their main customer base on the web and want to achieve some additional features by installing it on the smartphone. A good example is the NZZ app: while it could be used comfortably in the browser, installing it as a PWA would allow to receive push notifications on important news.
Web app development
The final option is to develop pure webapps without requiring the user to install them on their device. Web apps run entirely in the browser and therefore reach practically all users and devices. The possibilities of web apps have grown more and more over the last few years and now allow many functionalities to be called up that were previously reserved for native applications or PWAs. For example, the camera can also be accessed from a normal web app. Especially when an application does not use native features and can therefore be developed independently of the platform, the webapp is an excellent choice.
For example, many companies still operate exclusively on the web: For example, the Swiss accounting software Bexio is a pure webapp. Webapps are often cheaper to develop, easier to maintain and reach a more ready user base than installed applications. PolygonSoftware recommends a web app if users often visit the software via desktop and want to benefit from the full range of functions even then, and if the software does not require platform-dependent functionalities such as push notifications.