Developing Apps: Android Developers

During the first article in the series, I explained the fundamentals of the concepts for each type of application made by mobile developers, and why and when to do them. After this brief explanation, I showed what are the native languages ​​used to program in iOS, when using each one, and also the current situation of these languages ​​in the market. In this article, I will explain about the development of applications with native languages ​​for the Android operating system, in addition to situating how these languages ​​are in the market and its professionals (Android Developers).

Android developers: What languages ​​do you use?

Unlike iOS, Android is an open-source platform developed primarily and promoted by Google. As much as there is a Google brand of mobile devices, Pixel (formerly called Nexus), there are many other brands that manufacture devices like Samsung, Huawei, Xiaomi, LG that sell their own phones with the Android operating system. Because of their easier handling, Android devices have a very wide variety, since TVs, tablets and cell phones can come with the OS. As a mobile developer, to develop applications for this platform you need the Android development toolkit, which comes with SDK, debugging software, and emulators. For an IDE, Android Studio is by far the most popular, but it has other options such as Netbeans and IntelliJ Idea. You can access this development environment on any operating system (Mac, Windows or Linux). Applications can be developed from the Android native SDK with Java and Kotlin or other series of cross-platform technologies.

Java

Java is the official language for creating applications for Android, and consequently, it is the most used as well. In addition, due to the fact that it is the official language, it is the language with the greatest support from Google, in addition to having all the support of the immense community on the internet willing to answer any questions (Stackoverflow, for example, is one of the prominent communities) As much as Java itself already has a high degree of complexity, the Android Software Development Kit (SDK) manages to complicate even more for beginners in programming. Still, Java has its value for its high conversation in different media, such as programming in the financial market, on the back-end in general, and / or – for Android developers – in the middle of application development.

Kotlin

Kotlin is the most popular alternative to Java for Android app programming, just as Switft is compared to Objective-C on iOS. The biggest difference between Java and Kotlin , for Android developers, is the removal of the most complex topics from Java, such as the NullPointerException exception, making variables, by default, unable to have empty values ​​(null). Be sure to comment if you missed anything about languages ​​or any notes that you think are important to add to the article. Any kind of feedback is very welcome. In the next article, I will end the series on mobile development with cross-platform languages, that is, languages ​​that are able to develop both Android and iOS applications, however, with a certain performance cost. I will also talk a little bit about web applications and their positive and negative points.

What is the difference between application and web system?

Many application developers when setting their budget ask: will you want an application that runs on Android, IOS or via the Web? Each of these types of applications that are available on the market today, require a different type of programming, a different layout, a different experience … In short, a development of its own. In this article, the DevMaker team brought together some of the main differences between native applications (planned to run in an app store ) and web systems. Native applications are designed from the beginning to run on a given platform, such as Android or IOS, so the company that is going to develop can map and define in its team which are the programmers who are experts in each language. Precisely because it is an application designed for its own system, the native is faster, more reliable, with better performance, longer usage time by users and has the possibility to work without an internet connection. Not to mention that within this environment, it is easier to think and create an experience for the user. That is how applications like Facebook, Twitter, Instagram and so many others that we use in our daily lives were designed and thought .

The web system is not a real application. In fact, it is much closer to being a website designed for mobile devices than an app itself. Like the native application, it can have a good user experience, but it runs mainly on web browsers like Google Chrome, Safari, Mozila Firefox, so you need the internet connection to work. Despite not taking up space in the memory of your mobile device, they end up being slower precisely because they are not integrated into your operating system. The web system is a great choice when your goal is just to present the content or have an online presence in the mobile world mainly by the simplicity of its programming and adaptability to multiple platforms, such as smartphones, tablets etc. Good examples of companies that have made mobile systems are Google, Hollister and Netshoes. If your idea involves having these two types of applications, that’s fine, as the same company can have both a native application and a web system. Just remember that this can influence the price due to the number of professionals who will be involved in this project.