| 17 min read

How to Choose Development Platform for Your Project?

Image post

Defining the platform you are going to develop for is fundamentally important when planning a project.

What is a development platform?

A platform generally refers to the operating system and computer hardware. The platform is a set of standards that enable developers to develop software applications based on the appropriate technology stack. These standards allow owners and managers to purchase appropriate applications and hardware.

 

The budget of a new project — no matter if it is a startup or an already existing business — is rarely large enough to develop a product for all the existing platforms without hesitation to achieve greater market coverage. And even if there is a budget, it is worth considering if you really need to cover all the platforms and which platform is best for your project development?

 

In this article, we are going to give you a tip on which development platforms to choose depending on the type of project you make.

Website

You need a website if your project is:

  • A service provider

    It is extremely difficult to prove potential customers that the company is real if they can not find the website. The website is informative and does not require daily visiting, so it is enough to get started.

     

    Adaptation for mobile and tablet is required.

     

  • An online store

    Most of the sales are carried out online, so the importance of the website and its correct display on all devices is obvious. In the future, the development of the product for mobile platforms is possible.

     

    Adaptation for mobile and tablet is required.

     

  • Complicated web application 

    Usually, these are developed to optimize work at various enterprises — production monitoring, financial reporting, team management. Due to the need for processing and outputting a large amount of data, it is reasonable to develop them for desktop.

     

    Adaptation is not necessary and in most cases is not needed. If necessary, it is better to develop mobile applications with reduced functionality (for example, tracking task statuses and the possibility of chatting with other team members). 

     

  • Landing Page for any product 

    Even if you have a mobile product that does not require a web counterpart, creating a Landing Page is imperative. A link to the app can be posted on the website.

     

Ready-made template solutions out of the box (CMS) or custom solutions can be used to build a website. Let's take a closer look at the pros and cons of each approach. 

 

Website based on CMS

CMS, namely customization of a ready-made template, is a quick way to develop your product, as the library used by the developer already contains a large list of standard elements. But this solution is not always applicable, so carefully read all the + and -.

CMS advantages

CMS disadvantages

quick website development;

CMS is not suitable for complex products. If you plan to develop an SRM system, it is better to apply for custom development, since it may take much longer to customize existing solutions in a CMS than to write the original code;

allows easy administration and adding new elements through the admin panel;

sites on the CMS do not guarantee security;

the ability to create a beautiful design without any difficulties;

low level of optimization for search engines (you need to carefully study the features of each CMS);

simple content, available even to people without special knowledge.

limited possibilities in the customization of the interface, so the sites look quite similar;

 

a lack of opportunities to expand the product. It is necessary to find out in advance the threshold of permissible load on each of the possible CMS.

Technology stack:
WordPress, Joomla!, Shopify, Drupal, Magento, Blogger, TYPO3

 

Custom website

Custom website development is a great chance to express your individuality. An interesting and original product always attracts more attention than a similar, but typical counterpart.

 

Unlike CMS, the custom website provides almost endless opportunities.

Custom website advantages

Custom website disadvantages

a high level of data security.

the development time is longer compared to CMS, and therefore you need to lay a larger budget for the implementation of the project.

ability to develop a unique interface

 

ability for proper SEO.

 

site is easy to scale and add new functionality

 

Technology stack: 

Front-end: JavaScript (React, Vue, Angular)

Back-end: Node js, Python (Django, Flask), Ruby on Rails

Web application

A web application is an application you can browse on the Internet. At first glance, they look the same as the usual websites, but there is a huge difference. Two types of web applications are trending. They are SPA (Single Page Application) and PWA (Progressive Web Application). 

 

Unlike the websites, Single Page Application doesn’t connect with the server after each interaction — code is only loaded once, and interactions with the application are actually performed on the server.

 

PWA is a website that behaves like a mobile app. It allows the icon to be placed on the main screen, push-notifications to be sent and so on. Moreover, it functions offline. It is easy to find, it doesn't overload your smartphone storage — generally speaking, there are various benefits you can get from implementing such technologies. 

 

 

PWA and SPA are great solutions for such projects as: 

  • Complicated services

    This technology is great, since it implies a complex architecture, for example, a service for a hospital for keeping records on the patients, or for enterprise corporations internal systems /, SaaS, etc.)

     

  • Solutions for newsfeed and media

    Such light and flexible solutions perfectly fit for online publishers, blogs, news resources, since they do not overload the storage, have short loading time and good for getting some content on the go.

     

Technology stack: 

Front-end: JavaScript (React, Vue, Angular)

Back-end: Node js, Python (Django, Flask), Ruby on Rails

Mobile application

You need a mobile app if you plan to create: 

  • A social network

    The application that provides communication and content sharing among users. Life pace is so fast nowadays that most of the users prefer to do it on the go — the mobile application will provide you more reach and, thus, a higher chance for success.

     

  • Healthcare app

    Typically, such applications sync metrics from special wearable devices and send users notifications about any important changes, taking medicines, and also have an emergency button to contact relatives, so it is important to have it ready at hand.

     

  • Photos and videos editor

    Applications necessary to improve photos, cut the video, and create various types of content. Such software usually has to be on hand, since edited content is usually used for social networks.

     

  • Traveling app

    The main function of such an app is the search for attractions, food, housing on the maps. The traveler who arrived at the destination usually doesn’t have access to the web, so it will be useful to get the information on the bookings and tickets in the app.

     

  • Fast services for daily use.

    Services such as delivery, taxi, postal services, etc. The same as the communication issues, these options also must be always available for the user. 

     

 

Сross-platform Apps

A relatively cheap way to develop a mobile application, because the code can be applied for both iOS and Android. It should be noted that cross-platform is more suitable for creating small and relatively typical applications.

 

The following table shows the pros and cons of this approach: 

Cross-platform app pros

Cross-platform app cons

fast development, minimal time of the release to the market. Good for products that need to be quickly tested on real users.

suitable for writing enough standard programs, as in the standard libraries may not find the desired component. And in this case, the developer may be faced with a non-trivial task, the solution of which may take a fairly large amount of time and in the end turn out to be at cost as native development.

development is carried out simultaneously for two platforms - iOS and Android, which allows reducing the time to create mobile applications.

even though many cross platforms support a huge number of APIs, there is still a need to use other APIs through embedded modules that are part of the code written in the native language.

many UI components are available and easy to use — cards, buttons, switches, segments, pop-ups, input fields, lists, a grid of rows and columns, etc.

android and iOS use different application design principles, you may need to develop native libraries to create a high-quality interface.

a sufficiently large number of plug-ins that allow you to use the functions of a smartphone, such as a camera, fingerprint scanner, NFC, geolocation, etc. 

relatively poor performance, especially noticeable in working with graphic images

 

native plugins can be a problem if some of the plugins used conflict or if one of them has a bug. Troubleshooting errors can be quite complicated: sometimes it’s hard to understand where the error comes from because error messages can be uninformative.

 

Technology stack: 

React Native, Ionic Framework, Xamarin, PhoneGap, Flutter

 

Native Apps (iOS, Android)

Native languages allow you to use the hardware of the device to the fullest and make the most responsive interface familiar to users of a particular platform. Using native programming languages you can build applications of any complexity.

Native app pros

Native apps cons

the speed of the application — the compiled project code is the best for the native platform. The application receives the full support of the hardware of the device and uses multithreading for complex tasks.

applications must be developed for each platform separately, using Swift (iOS) and Kotlin (Android) native programming languages.

new software and hardware functionality is available for implementation immediately after the release of updates.

 

the simplicity of testing. Developers and testers have access to a whole range of technologies — all system parameters are automatically controlled, for example, if the application has started to use more processor resources.

 

native mobile applications can guarantee more reliable data protection.

 

using native language gives you more freedom in terms of screen optimization since there is an impressive variety of smartphones and tablets with different sizes and proportions of the displays today.

 

 

Technology stack:

iOS: Swift, Objective-C

Android: Kotlin, Java

Let’s sum up

  1. Before starting the development you need to decide what to concentrate on — define clearly which platform will be the most convenient for users, thus, what tech stack to pick.

     

  2. For mobile applications.

    If the most important issues for your application are correct display of the interface on the screen of the device, responsiveness, and high loading speed or the application is supposed to work with a large data array — native platform is your choice.

     

    If you need to identify demand quickly, you can apply for cross-platform development for MVP. If it is successful, you may need to develop the application from scratch in native languages ​​for each platform. You can also use cross-platform development if the application has a simple functionality.

     

  3. For websites.

    If there is a complicated product, such as CRM, it’s better to apply for custom development, since the CMS will not have the necessary libraries and the developer will face non-trivial tasks. It can lead to poor application optimization, which will certainly affect the application speed.

     

    The exceptions are online stores — they can be developed using templates, but still, it is better to discuss with the team to make sure CMS is better to use in your case.

     

Any questions left? Have cases to share? Let’s discuss it! We are looking forward to your comments.

4.75.0 Article rating
You May Also Like
/Facebook /Twitter /LinkedIn
/Facebook /Twitter /LinkedIn