Why Think creating of mobile applications
In this era of sophisticated technology the popularity and importance of mobile application development is increasing amazingly. GCTL INFOSYS has been developing mobile applications of any complexity for more than 9 years: has been developing mobile applications of any complexity for more than 9 years: social networks, instant messengers, complex corporate solutions, e-commerce and banking systems. Great experience helps to create an intuitive and relevant interface for any business.
The development of a turnkey mobile application for Android depends on many factors and can range from 600 thousand rubles to several million rubles.
Who needs Android app development
Corporate business
The mobile application will help automate complex workflows: create a convenient system for interacting with staff and customers, analyze work efficiency, and quickly receive feedback.
E-commerce
The application will allow you to attract new customers and increase the number of repeat sales, tell users about new products and promotions, and create a customer loyalty system.
Startups
It will help you quickly bring your idea to the market and get the first profit, interest investors and study your audience using the application’s internal statistics.
Why do you need to develop an application?
- The ability to reach a large target audience – 88% of people use Android phones.
- The variety of gadgets on Android allows you to completely replace the desktop, so users need convenient mobile applications.
- You can implement any features that will help you keep in touch with users and increase sales.
- The popularity of Google Play is growing every year, which makes it possible to enter new market segments.
GCTL INFOSYS is engaged in the development of mobile applications, their further support and promotion on Google Play. We value the time and needs of our clients, which is why we have assembled a team of the best and proven results-oriented professionals.
Order the development of a mobile application for Android to take your business to the next level.
The specifics of creating and developing mobile applications for Android from scratch
Creating a mobile application for android is not an easy task, because it is important to know a few things. Firstly , this is a large fragmentation of devices. Just huge. This is great for users: you can choose a phone for every taste and for any technical requirements. But it is very difficult for application developers, and this applies to both hardware and software.
In hardware, the device may or may not have a front camera. Sim Cards can be any number. Physical buttons may or may not be present. There can be two screens: an additional one on the back or on the case.
Existing elements also have different options. For example, the accelerometer sensor for all mobile phones can be installed in several versions.
The location of the accelerometer axes may not be the same as in the documentation
It would seem – a trifle. But to create a game controlled by device tilt (such as racing), you first need to ask the user to rotate the phone in their hands in certain directions so that the application recognizes the position of the installed sensor. Otherwise, on one smartphone, for turns, you will need to tilt left and right, and on the other, back and forth.
Schematic demonstration of the main screen sizes of Android and iOS
Screen size and resolution is a separate issue. For example, if you need to fit an image to the entire iOS screen, you use multiple images to fit the typical dimensions of the iPhone 6 and up, iPhone 6 Plus and up, iPhone X, and iPhone X Max. In the case of Android, screens have different resolutions, aspect ratios, and densities.
In this regard, there are various tools for Android developers, for example, 9 Patch, a markup scheme that allows you to set rules for stretching an image when it is resized. Without it, it is difficult to develop applications for android and correctly display, including background images, due to the spread in screen sizes.
An example of using 9 Patch in Android
Accordingly, if you set out to fill the entire screen with an image, you either need to use several images and crop them to non-standard sizes, or cut them so that the individual parts form a single whole, but can move relative to each other (for example, the earth, clouds, left and right side).
Distribution of Android OS versions on May 7, 2019 The latest version, Pie (Android 9), is installed on only 10% of devices. Versions 5.x (Lollipop) and younger account for more than 20% of the market.
Secondly , this is a wide range of types of the Android operating system installed by users. This gives rise to many problems when creating mobile applications for android from scratch:
- During the development process, it is necessary to take into account the peculiarities of displaying the interface on different versions of the OS and shells. For example, system controls may look completely different on multiple Android versions and skins of the same Android version;
- Different versions in a number of moments have different logic from each other. For example, before version 6.0, applications did not have to request each permission separately (access to the camera, microphone, and so on), they were listed in Google Play and it was assumed that the user was familiar with them before downloading. Starting with 6.0, each permission must be requested separately at the time the application is running. Accordingly, if you do not implement both logic options when developing an android mobile application, it will not work either before version 6.0 or later;
- Software methods and libraries change: some of them are considered obsolete and need to be replaced with newer ones. Thus, there is always a choice: either to support the most recent OS features, or to allow as many users as possible to install a mobile application;
- In the latest types of OS, multitasking of the workspace has been added. The user can display several applications on the workspace at the same time, and yours can be allocated a completely arbitrary area in size. This should also be taken into account when creating applications.
Display themes of the same app
The third thing to consider when developing android applications from scratch is the architecture of the application itself. Unlike iOS, where applications are architecturally a single whole, in Android they are assembled from logically independent and separate parts – activities and fragments.
This approach was created precisely in order to ensure the operation of applications on absolutely any mobile, including those with a very small amount of RAM and very weak processors. If the parts of the application are independent, any of them can be thrown out of memory at the right time and not spend precious resources on maintaining its life cycle.
For example, you see a list of restaurants, then you click on some element and fall into it. The second screen, the restaurant card, should not know anything about the previous list, because at any time, including immediately after switching to the card, it can be unloaded from RAM and destroyed. This will happen, for example, if a lot of applications are running in the background or you start playing videos in good quality on the card.
Activities and fragments are logically separate elements with their own life cycle
For the application to work correctly and without failures, the card screen should not refer to any information from the previous screen, accepting only certain data as input. If, for example, the user has the opportunity to go to the next restaurant without returning to the list, then the card should independently obtain the necessary information. At the same time, the list screen should not know anything about the card itself, because after returning from it, it can also be destroyed.
This aspect of the application architecture sounds too technical, but it makes it clear why, for example, cross-platform development is far from possible for all types of applications: if it is something voluminous in terms of functionality, then it is completely unloaded from memory when there is not enough space and on weak devices the ability to work with them is simply missing.
Android development features
There are a number of features in the process of developing applications for android:
1. Unlike iOS, Android applications are a relationship of separate, logically separate elements, as discussed above. That is, you cannot just take and import an application to another operating system by rewriting the code from one programming language to another. That is, when creating applications for android, you need to lay a completely different architecture .
Another approach is observed in other aspects.
For example, a modern application icon may have a different shape depending on the settings of the operating system. The designer must take this into account and make sure that the logo looks great and harmonious in all options.
2. When developing mobile applications for android, it is important to rely on Material Design . This is a whole philosophy of creating a user interface. The official documentation for this approach includes hundreds of documents detailing both its principles and specific examples of correct and incorrect usage of rules for each interface element.
The button protruding above the active area should be only one (of the same color). Multiple protruding buttons of multiple colors cannot be used.
The button, navigation bar, icon and all other elements must follow these rules if you want to design a beautiful material interface and get an offer from Google to promote your application on Google Play.
You cannot use vertical alignment of text and icons on buttons. As well as it is impossible to use more than one icon on one button.
3. Google’s recommended programming language for android applications is currently Kotlin , not Java. The difference between them is significantly smaller than between Objective-C and Swift for iOS, but they are still slightly different approaches to development.
4. Testing on a large fleet of physical devices (not emulators) is extremely important when creating android applications. Even it, due to the huge number of phones on the market, does not provide trouble-free operation on all available models, but at least reduces the likelihood of problems on the most popular devices.
App Publishing Policy on Google Play
After the process of creating an android mobile application is completed, it’s time to publish it. Before publishing to the Google Play app store, builds go through much less thorough control in terms of compliance with the requirements for building an interface, choosing a theme, and requesting personal user data.
Even though Google recently changed the approach to app review to be more thorough and more manual, the average app review time is 2-4 hours. This is significantly faster than 2-3 days in the case of the App Store.
The general scheme of the application verification process: first, algorithms do this by giving the assembly a certain score, then a living person makes a decision, taking into account its value and other factors
Previously, many used this to promote the created applications for android. Android Market, the previous version of Google Play, had a New Apps tab that displayed updates in chronological order. Thus, the more often you updated the application, the more downloads you received. Each update in Russia gave 1-3 thousand downloads, and in a month it was possible to achieve good results if the application was really useful (if the ratings are bad, you received only a few downloads).
Now app promotion has become much more difficult, but first of all, you need to create a cool product, including from the point of view of the requirements of the Material Design concept. You may not comply with them, but such an application will be advertised on Google Play by Google itself in exceptional cases.
conclusions
Creating mobile applications for Android has the following specifics:
Android is the most popular operating system in the world . As a consequence, the diversification of the devices it manages is huge. In the process of creating an application, you need to make sure that the application supports the vast majority of gadgets of the target audience.
• At the development stage, pay attention that UI / UX should take into account not only the different sizes of devices , but also the work in multi-window mode, and the pixel density of screens: thin font on low-quality displays will be distorted or disappear altogether.
• The number of current versions of Android in use is many . When creating applications, you need to consider all of those that your target audience uses.
• During the development process, when designing the interface, it is necessary to be guided by the concept of Material Design .
• Google’s recommended programming language for Android is Kotlin .
• At different stages of creation, testing on a vast fleet of physical devices is very important .
• You can set up a personal developer account and publish an application in 2-3 hours .
Order the development of a mobile application for Android Before you order the creation of android applications, you need to be prepared for the fact that the development of mobile applications for android is not an easy task. It is important to take into account the main listed and many other factors. At the same time, it is equally important to solve the real, existing problem of people, and not to make the most common mistakes.
If you are thinking about creating a mobile application for android, call us or leave a request in the form on the site. Our managers will contact you and answer all your questions.