Latest Blog

With IBM MobileFirst Platform Foundation , you can develop mobile applications using one of four approaches: web development, hybrid development, hybrid blended development, and native development.

IBM MobileFirst Platform Foundation provides capabilities that enable rapid development of mobile devices. This flexible structure offers more options when you implement your mobile communication channel or release a new version of your application, whether it is a hybrid or native application. You can assess the best approach for each situation, based on skill, time and functionality, without being limited by a specific mobile app development approach.

With IBM MobileFirst Platform Foundation , you can develop mobile applications using a wide variety of supported approaches.

Desktop and mobile website development

With the website development approach, users open their preferred browser and go to the corporate website. The application runs in the mobile terminal’s browser and uses standard technologies such as HTML5, CSS3, and JavaScript to create the website. Your app is platform independent so you don’t have to develop a new app to support a new mobile platform. You may need to modify your application to support a different browser engine. On the other hand, mobile web applications cannot access terminal functions such as the contact list because they are only based on the browser and the associated web standards. In addition, if the website, and in particular corporate sending systems, are not optimized for mobile interactions, the user experience is not pleasant. Mobile web apps are not distributed through an app store. They are accessible via a link on a website or a bookmark in the browser of the user’s mobile device.

Hybrid development

With the hybrid development approach, you can build apps that use parts of the web development approach and parts of the native app development approach with standards like HTML5, JavaScript, and CSS. Your hybrid app runs in a native container and uses the browser engine to display the app interface. The interface is often based on HTML and JavaScript and can also incorporate native elements. The native container allows your app to access terminal functions that cannot be accessed from web apps, such as the accelerometer, camera, and local storage on a smartphone. These functions can be optimized from JavaScript using Apache Cordova. The application is built with the integrated development environment (IDE) native to the operating system of the mobile device, for example Xcode. Like pure native apps, hybrid apps are distributed through the platform’s app store.

Native shell application with external mobile website

Using this approach is similar to mobile website development. However, your mobile website appears in a native command interpreter provided by IBM MobileFirst Platform Foundation instead of the device browser. With this approach, your mobile website can access native terminal functionality through APIs exposed by the native container. However, this approach has a few drawbacks: viewing application code and remote user interface from a website can dramatically degrade the user experience; When the only caching options in the browser are manual caching or caching through HTML5 manifest, offline operation is not optimized.

Pre-packaged HTML5 resources

This is the most common approach in the development of hybrid mobile applications. It allows you to create applications that use a container in order to access terminal functions, but also to use other native components specific to the platform such as libraries or specific user interface elements, in order to improve the mobile application. Unlike the previous approach, web resources are not loaded from an external website but packaged within the application itself. In addition to optimizing the native functionality provided by a native container, the application can achieve better performance and be more responsive because all the resources required for the functionality of the application are packaged within the application itself and do not need to be loaded over a network. With this approach, your application can operate and store data in offline mode. To get the best user experience, it is important to optimize for various form factors, such as responsive web design.

Mixture of web and native elements in code and UI (HTML5 + native UI / mostly native with HTML5 screens)

Here you mix web and native elements using one of the following two approaches: you have a hybrid app to which you add symbols and native UI components, or you have a predominantly app. native and you add HTML5 screens. So you can, for example, start your application with a native screen and switch to a web screen later, or mix native components and web components in one screen. This approach has several advantages:

  • You fully optimize all functions of the platform, for example access to the camera or to the contact list from native code and JavaScript code.
  • You get better performance and better user experience when needed, using native capabilities.
  • You reuse code and web development skills using HTML5 / JavaScript / CSS whenever possible.

Pure native development

With the pure native development approach, you can build apps that are written for a specific platform and run on that platform only. Your apps can perform better and make full use of all platform functions, such as accessing the camera and contact list, activating symbols or interacting with other apps on the terminal. To support platforms such as Android, iOS, Java ™ ME, and Windows Phone, you must develop separate applications with different programming languages, such as Objective-C for iOS, or Java for Android, or C # for Windows Phone. Silverlight 8. Unlike desktop and mobile web apps, native and hybrid apps are distributed through an app store.

Aspects of each development approach

Each of these development approaches has advantages and disadvantages. You should select the appropriate development approach based on the specific needs of each individual mobile solution. This choice depends greatly on the characteristics of your mobile application and its functional requirements. The first step in a mobile application development project is to match your requirements with possible development approaches.

A mobile application: what is it?

To upload a mobile application, you have to go through a download platform such as Google Play Store (Android) or App Store (iOS). A mobile application, when you want it to be distributed on one of these platforms, must comply with certain online posting rules.

For example, some themes are banned from Google Play Store and App Store:

  • any inappropriate content: nudity, pornography and all types of sexual content, all types of hate speech, discrimination or racism, any form of violence, threat or harassment, or any content relating to the consumption or sale of firearms, drugs, tobacco or alcohol;
  • endangering minors: pedophilia or exposure to various inappropriate content under the guise of a children’s application;
  • illegal activities such as the sale of drugs or the sale of prescription drugs without a prescription;
  • certain types of financial transactions such as binary options or cryptocurrency mining.

Others are highly regulated, such as gambling or personal loans. In all cases, a mobile application, as soon as it is published, must respect both the rules for uploading the download platform, but also the laws in force in all the countries in which it is distributed. .

Update your mobile application

A mobile application must be updated regularly for several reasons. Firstly, updates make it possible to correct bugs and malfunctions of an application. Indeed, it happens that errors in the development of the mobile application or compatibility problems with certain devices or certain versions of the operating system prevent you from enjoying an optimal user experience. An update thus makes it possible to put an end to slowdowns or critical errors that could lead your customers away from your application.

Then, it is easy to collect user reviews on your mobile application via reviews posted on download platforms. You can also automatically configure a notification which is displayed on the screen of your users after a certain action defined in advance and which redirects them to the download platform for them to give their opinion. This permanent watch on customer opinions on your application will allow you to identify areas for improvement, as well as content or features to add or remove. Thus, your updates will be able to take into account the comments of your users.

Finally, updating your mobile application will quite simply allow you to increase new features or even modify the way some of them work. It’s natural not to put out the fullest application possible from the start, and it can even help your versioning strategy (or update strategy). Indeed, you can very well publish your mobile application for the first time with the functionalities falling under the MVP (Minimum Viable Product), in other words, the functionalities which will be the most important for your application to be functional from its launch and for it is attractive to your customers. Subsequently, given your human and technical resources, but also following user feedback,

Mobile application or web application?

The choice between a mobile application and a web application is a recurring question that all business leaders have to ask themselves during the process of digitizing their business. You should know that both types of applications have advantages and disadvantages that we are going to review.

Some details on mobile applications

Mobile apps must be hard-downloaded to your mobile device and take up a certain portion of your device’s memory. They require dedicated development time, to be doubled if they are released on both iOS and Android. Mobile apps can be uninstalled. As we have seen above, a mobile application undergoes a certain number of updates throughout its life, which therefore require the installation of additional data which each takes up a little more space on your mobile device.

Mobile applications have the advantage of being able to offer content that differs from that of your website: you can therefore create a complementarity between these two communication tools. In any case, your mobile application cannot just be a simple mirror link to your website, because it is prohibited by download platforms.

Your mobile application may not require permanent Internet access, especially if all of the data is stored within your application. However, if the data is stored in a cloud, continuous internet access will still be required. Some mobile applications offer to download certain data so that it is available offline, which has the advantage of giving you access to the data you use most often.

Finally, with regard to the promotion of your mobile application, it is generally done through mobile advertising networks which offer advertising spaces directly within the mobile applications when they broadcast advertising. Download platforms are also a good way to promote your application if it has good SEO.

 

Every day we extend the use of our mobile phones to carry out recurring activities, from controlling our exercise routine to shopping for our products in the supermarket.

For this reason, we offer our clients the possibility of expanding their line of business by developing a mobile application .

We have extensive experience working with the banking sector in the development of mobile applications , as well as providing support and service in the development of applications more oriented to end customers.

Our Mobile Application Development services help our clients publish on the App Store and Play Store, allowing them to access thousands of potential consumers.

We have extensive experience in developing mobile applications in a transparent and secure way, in business programs for all personnel using iOS and Android devices.

Mobile application development is similar to web application development, and has its roots in more traditional software development. A fundamental difference, however, is that mobile applications (apps) are often written specifically to take advantage of the unique features that a particular mobile device offers. For example, a gaming app could be written to take advantage of the iPhone’s accelerometer.

One way to ensure that applications show optimal performance on a given device is to develop the application (app) natively on that device. This means that, at a very low level, the code is written specifically for the processor of a particular device. When an app needs to run on multiple operating systems, however, there is little – if any – code that can be reused from early development. The application must be essentially rewritten for each specific device.

In the future , it is expected that most efforts to develop mobile applications focusing on creating browser – based applications that are agnostic of the device. Browser-based applications are simply websites built for mobile browsers. These sites are built to load quickly over a cellular network and have easy to use finger navigation.

Development of Mobility Applications

Do you need a mobility application , valid for any operating system, that meets the needs of your business ? Take the opportunity to be able to sell more, work more productively or control all your company information instantly. We offer you professional mobility solutions, developed to measure, that will make you get the most out of your business. 

Every day the market that arises around mobile applications and the request by customers for optimal development is growing. The choice options will begin by knowing if we want an exclusive application on Android or iOS that contain specific functions of those operating systems optimizing their hardware or if we want hybrid applications that can allow development for both operating systems and even adapted as a web application that allows the viewing from a browser.

Next, we will give a greater description of the different forms of mobile application development.

Native Development (Android)

Kotlin is the development language for mobile applications that will help prevent common programming errors in Android applications, which will be strongly typed and will allow interoperation with Java-based code, so that it is not limited exclusively to this type of language.

Since 2017, this language was defined by Google as a first-level language for Android development, which was supported by the company.

Native Development (iOS)

For iOS, Mac Apple TV and Apple Watch, Swift is the language chosen by Apple for the development of its applications. This strongly typed language, which will allow fewer errors during development, facilitates the use of functional programming patterns, and will also automatically manage memory.

As it is a native development it has a higher performance in Apple devices, as an example, in search algorithms it has an estimated speed 2.6 times faster than Objective-C and up to 8.4 times faster than Python.

Semi-Hybrid Development

This development environment will allow the development of native multiplatform apps, which will allow developing using C # code for the logic and XAML for the views, all the necessary code for all platforms. In a previous article on our blog we already talked about Xamarin for cross-platform development .

Hybrid Development (Ionic)

Today, one of the best alternatives for agile Mobile App Development . This development environment uses web standards such as HTML, CSS and JavaScript, allowing to obtain a Progressive Web App (PWA) with the ability to work on iOS and Android as a native application. You do not necessarily have to install the application on the phone since it will allow access through a browser, but it also adds the option to generate applications to publish both on Google Play and in the App Store. All this makes an application developed with Ionic accessible from any device by browser or as an app.

Also the possibility of developing for kiosks , which like the PWAs will be multiplatform and we will have the option of distribution through several channels and always focused on multiple objectives.

In conclusion, the advantages that the native development will have will be the possibility of accessing both all types of sensors and the complete hardware of the device , both internal and external, and will offer 100% performance of the visual environment.

The hybrid development will allow us to reach the maximum audience at one time developing for both platforms , which in native development would have a much higher cost because there would be two completely different applications. In addition, today, hybrid applications are getting closer to the appearance of native applications, which makes them gain a greater market share.

From Hiberus we can help you and offer you advice on the different alternatives to achieve your goal. This is always a critical decision in any project and our experts will be able to advise you. Do not hesitate to contact us. Get in touch with us and we will be happy to help you.