Apps



Web applications and apps


Before 2007, apps were considered interactive, dynamic, browser-based web applications. However, with the advent of smartphones and mobile devices, native apps are becoming increasingly popular.



Native apps are developed using Java for Android, while iOS has been using the Swift programming language since 2014. The advantage of native apps is higher performance and accessibility of internal system functions. They are also complex and must be developed separately for each operating system.



Hybrid apps have also been used since 2010 to simplify the development process. They are based on a framework that allows you to create apps that work on both iOS and Android. Mashups bring their own challenges, as they are still expensive to deploy and may require additional desktop web apps to extend their functionality. In general, the types of apps have evolved over time to meet the increasing demands and needs of users. Native apps offer high performance and system integration, but require more resources and effort. Hybrid apps attempt to be platform independent but are more difficult to deploy. It is important to weigh the respective advantages and disadvantages of different types of apps and choose the best solution according to the requirements and goals of the project.




Progressive Web Apps


Progressive Web Apps (PWAs) are a modern approach to websites that offer the look and feel of native apps. They are easy to find via the URL or application manifest and can be installed directly on the home screen of the device. PWAs include push notifications to inform users about new content or updates. They are typically created with JavaScript and require HTTPS for secure communication.



Service agents working in the background are an important part of a PWA. They allow to control the communication between the PWA and the web server and have their own cache. This allows users to retrieve responses to frequently requested content from the cache, reducing loading times and improving the user experience. In addition, the service agent enables background updates to regularly update new data for the PWA.



The following image shows the browser compatibility of the service workers across the different operating systems and browsers.



It should be noted that yesterday at WWDC23 Apple gave MacOS the option of generating web apps automatically from web sites. The developer supposedly does not have to make any changes to existing websites.




React


React is a library that is used to create user interfaces. The library was created in 2011 by Jordan Walke and first used on Facebook and Instagrtam in 2012. The changes in React are mainly taken from the DOM, and to create the apps, more libaries are needed.



The components on which React is based are, for example, header, sidebar, headline and content.



The advantage is that the components are already designed and can be used easily. You also get a better overview of the code.




Node.js


Node.js is the runtime for JavaScript. With Node.js, JavaScript can be executed on any platform without a browser. JavaScript can also be used for server-side development.


Express.js


A simple and flexible Node.js framework of web applications is provided by Express.js. It includes numerous powerful features and functions for web applications and mobile applications. With the help of countless HTTP utility methods and middleware functions, creating a powerful API is quick and easy. Express provides a thin-layer of basic web application functionality without overlaying the familiar Node.js features