Every developer periodically faces the need to look for fresh programs to increase the efficiency of their own activities, simplify the solution of everyday problems or carry new knowledge. But for some reason, few people think that a pocket gadget can also be useful both for sharing with a computer and for remote edits. Below you will find a few apps that are sure to make your workday more productive. If you are just diving into web development, we recommend doing it at our free online intensive course.
AIDE
Everything is simple here - an Android application for developing an Android application. The main feature is that it works with DropBox, that is, you can interact with your computer, make changes, and upload back. All the necessary functions like error checking, refactoring, code completion are in place. For the paid version you will have to pay almost 590 rubles, but, fortunately, you can check all your doubts on the free version. In addition, there is AIDE for working with the web.
Creating the first Android project
It's time to create the first project. Let's start with something simple. Programmers usually call the first program “Hello World”. Let's follow this tradition and then make a few small changes to make the app use your name as a greeting. At the end, you can download it to your device and show it to your friends. Android Studio has a small step-by-step tool that will help you create your project. Click "New Project" on the start screen:
Next you should see a window similar to the following:
Fill it out like this. Feel free to replace "example" in the package name with something else to remove the warning at the bottom of the screen. You can also set the project location by pointing to any folder on your hard drive
For drop-down SDK versions, note the Description section at the bottom of the dialog box. It explains what each setting does.
Install the minimum required SDK as shown in the screenshot. This sets the minimum version of Android required to run the application. Choosing this value for your own projects is a matter of balancing the SDK capabilities you want with the devices that will be supported.
For the first application, I recommend using API version 14, which is Android 4.0 Ice Cream Sandwich. Each application will have different requirements and you may choose something different depending on the situation.
For more information about API versions and their use, there is a special Dashboards page on the website for Android developers https://developer.android.com/about/dashboards/index.html.
After selecting the version, the starting template selection screen opens. You can create an application that already interacts with the google maps api and displays the map. In our test example, select the Empty Activity and click the “Next” button.
And now you are at the last step of the application creation process. Before you click Finish, pay attention to a few things. This is the first time you come across references to the main architectural components of any application.
- Activity Name
is the first, but not the last, mention of the word Activity. In the Android context, an Activity is usually thought of as a "screen" in your application. This element is very flexible. When Android Studio creates the MainActivity class, it inherits it from the Activity class in the Android SDK. Those familiar with object-oriented programming will understand this concept, but for beginners, this basically means that your MainActivity will be a customized version of the Activity.
- Layout Name
- the layout of what will be shown to the user, defined in a special form of Android XML. You will soon learn how to read and edit these files.
Click Finish. It will take some time to create and download the project. After some time, Android Studio will complete the build of your project. Of course, the project is still empty, but it has everything you need to run on an Android device or emulator.
After loading the project, you view the layout file in XML format. Before we move on to Android programming, let's talk about how we can run this application. It's time to say "Hello world!"
TeamViewer
For those who have serious doubts about the convenience and quality of mobile phone applications, there is a quite useful utility for remote control of a work computer. Without being tied to a chair, you will have access to the necessary files and folders anywhere in the world, and will also be able to administer servers. And all this is absolutely free.
C++ is a powerful tool in the hands of a master
Main development environments : Android Studio (version 1.3 and higher), Visual Studio 2020, QtCreator
Suitable for game engines and resource-intensive applications.
C++ is a middle-aged but very powerful programming language that celebrated its thirtieth anniversary last year. It was invented in 1985 thanks to the efforts of friend Björn Stroustrup and still occupies the top positions of the most popular programming languages. “Pros” give you complete freedom of action, limiting you only to what is reasonable.
Over the entire existence of Android, many frameworks and development tools for C++ have been created. I would especially like to highlight the well-known Qt and IDE QtCreator, which allow you to develop cross-platform applications for Windows, Windows Phone, Windows RT, iOS, SailfishOS and Android (once this list also included Symbian). In addition, you get a convenient Tulip library of containers, algorithms and templates, which absorbs the best of Java and Android. And finally, you get many different QT modules for high- and low-level work with the system. Your humble servant codes specifically in C++ and Qt.
Last year, at the Windows: The Next Champter conference, widespread attention was paid to the fairly popular development environment Visual Studio 2020. One of the main innovations was support for application development for both Windows Phone and Android - Microsoft tried to somehow increase the number of applications for your OS.
It is also impossible not to mention that the official Android Studio began to support NDK. With the help of the NDK, you can use OpenGL graphics when working with Android. If you need speed and efficiency, choose NDK! This development method is perfect for game engines that require high performance.
Android development in C or C++ may seem simpler than in Java, but despite the fact that the language offers you complete freedom of action and does not limit you in your steps, it has some specific features that will take a lot of time to learn - not without reason C++ has been compared to nunchucks (an excellent weapon that unfortunately requires great skill). However, developing Android applications in C and C++ can be fun.
Required documentation:
- Qt Documentation
- Android NDK
- Visual Studio 2015 Documentation
WebMaster's HTML Editor
Editor of source texts written in HTML, PHP, JS, CSS with functions of synthesis highlighting and code completion. In addition, there are search and replace functions, “hot keys” and extremely convenient Undo/Redo editing. The free version has the Lite prefix and limits only the auto-completion functions (only the most obvious option is provided) and preview. The full version will cost 199 rubles.
Good luck!
For those who want to understand web development, we recommend the “Web Developer” profession from GeekBrains.
Java is the main tool for Android developers
Development environments : Android Studio (IntelliJ IDEA), Eclipse + ADT plugin
Suitable for a wide range of tasks
Java is the main language for Android programmers, a must-have for beginners. The main Android source code is written in this language, so it's easy to see why most people choose this language. Applications written in Java run on Android using the ART virtual machine (or Dalvik in Jelly Bean and earlier versions of Android), an analogue of the Java virtual machine, over which Google has a serious legal battle with Oracle.
Google currently officially supports the fairly powerful Android Studio development environment, which is built on Intellij IDEA from JetBrains. Also, don’t forget about the very detailed documentation from Google, which covers everything from match_parent and wrap_content to constructors, constants and main methods of the JavaHttpConnection class - it’s definitely worth reading.
Also, don't forget about Eclipse, a very popular environment for Java programmers. With the official ADT plugin from Google, this toolkit will become a powerful and lightweight weapon in your hands. But the guys from Mountain View stopped supporting Eclipse since last summer, giving way to the new Android Studio. Recommended for use on weak PCs.
It is recommended to start your journey into the world of Android from here: any androi developer is familiar with Java and understands all the numerous pros and cons of this language.
Required documentation:
- Android Java Documentation from Google
HTML5 + CSS + JavaScript
This trio of languages, once created for developing front-end applications in a web environment, has since grown into something more. Now HTML5, CSS and JavaScript tools are enough to create a wide variety of applications for both mobile devices and desktop PCs. Essentially, a programmer creates a web application that can harness the power and magic of offline platforms.
To create Android applications in this way, you can use the capabilities of Adobe Cordova - this is an open source framework that also supports iOS, Windows 10 Mobile, Blackberry, Firefox, and many others. However, as useful as Cordova is, it requires some serious work to create a decent app. Therefore, many programmers prefer the Ionic Framework project (which uses Cordova for deployment on various platforms).
Examples of Android applications written in HTML5, JavaScript and CSS: Untappd and TripCase.
There is another possibility: using the React Native library. It can be deployed on Android, iOS and the Universal Windows Apps platform. This library is used by specialists from Facebook, Instagram and other large companies, so you can rely on its reliability. It's not the easiest learning curve, but when it comes to the end, you'll have all the power, flexibility, and convenience you could want at your fingertips.
Mobile Roadie – developer of mobile applications for enterprises
As one of the biggest players, Mobile Roadie proudly showcases its clients: Disney, TED.org, Universal, Madonna, Taylor Swift and other giant brands have made their applications on this platform. With a standard price range of $149 (CORE) to $799 (PRO) per month, it's clear that Mobile Roadie is targeting large businesses. WebsiteToolTester highlights design features, showcasing stunning templates with tons of options you'll want to touch.
There are some nice social features, like chats and a fan wall, that would be especially useful for creative companies and musicians. Musicians will also love the audio player integration. Mobile Roadie also offers advanced features such as geo-targeting of content. Due to the wide range of features, the development process with this builder will take longer than with most others. What I liked: the templates are very elegant, huge functionality with advanced capabilities. What should be improved: Prices are too high for most small businesses, Mobile Roadie editor is not easy for even professionals to handle.
MobAppCreator - a brand new application designer
MobAppCreator is a relatively new company from Argentina, and it creates an impression of mystery; at least, it was not possible to find a standard “about us” section on the site, a company profile, or other information that gives a general idea of the organization. The builder focuses on creating native applications. With MobAppCreator, the user will not have as many templates at his disposal as in other designers, however, the editor itself is very easy to use, has various modules that are explained simply, without too much technical terminology. A nice feature is the iPhone representation, where all the updates added to the application are visualized step by step.
MobAppCreator offers a fourteen-day trial of the service with full functionality, and after the end of the period, a package is offered for $32.50 per month. This policy is not uncommon, but for this price more templates could be offered. What I liked: the editor is relatively easy to use, it has its own online store module for the South American market. What should be improved: range of templates; Perhaps it would be better if the free version was limited by functionality, and not by time.
AppInstitute - better than it seems at first glance
AppInstitute is the UK's largest mobile app builder and winner of several startup awards. It has great e-commerce features with highly customizable catalog menus and loyalty options. AppInstitute offers excellent ordering functionality that is better than it seems at first glance. The time it takes to figure it out is truly worth it. The functions of downloading videos and other content are also successfully implemented. The builder offers a good price: apps for iOS and Android for $28 per month. As a bonus, you will receive basic notifications with statistics and analytics of the application. What I liked: the ordering functionality is really good. What should be improved: lack of integration options with the backend.
Python
While Android doesn't have native support for Python, there are tools that allow you to write apps in Python and then convert them into native Android APK apps. A great example of Python's viability as a truly powerful language. Python enthusiasts who want to try their hand at developing Android applications will definitely appreciate this opportunity - without delving into the jungle of Java.
Among the most popular solutions for converting Python code to APK is the Kivy project. And it's not even because of its open source nature, and not just because it supports Windows, Mac, Linux and iOS in addition to Android. Kivy is designed to really speed up application development. If anything, you can use it as a prototyping tool. There's so much you can do with just a few lines of code!
However, in the absence of native support for Python, you won’t be able to take advantage of the native Android environment. Applications written with Kivy tend to compile into larger APKs, have slow startup times, and generally have below-average performance. However, each new release is truly better than the last, and today's mobile devices are so powerful that suboptimal app performance doesn't mean that much. Let this factor not be an obstacle.
A couple of examples of Android apps written in Kivy: Kognitivo and Barly.
Shoutem is the Apple of mobile app builders
Since launching in 2011, this mobile app maker has become a polished product. Shoutem has many very powerful options, such as a geo-localized directory of places - this was especially useful for the WebsiteToolTester trial project, a museum application. The monetization elements offered by the designer, such as integration with Shopify and support for mobile advertising, help recoup what you have to spend on using the Shoutem service. It's not the most expensive developer, but it's not cheap either: prices start at around $19.90 per month (that's the Basic package). To qualify for download in the Apple or Android app stores, you will have to choose at least the $49.00 Advanced package.
What I liked: design options (really very good), geo-localization elements, ease of use, processing of uploaded images. It’s especially impressive that the designer is easy and interesting to use, and at the same time, it’s simply crammed with cool things. What should be improved: you need to add a module for your own Shoutem online store.
C/C++
Not the best choice for creating simple applications. You can work with the language in Android Studio using the Android NDK, but unlike Java and Kotlin, it does not run on the Java Virtual Machine. However, it runs natively on the device, which can give you more memory options. You can achieve better performance in 3D games with it. If this is your choice, prepare for difficulties. You might be better off using a ready-made game engine to create your games.