How to create a new Android application. App development apps: how to make an app for iOS and Android yourself. Other useful options for a store in Mobi Cart

Disclaimer:
This article is a free artistic retelling and translation of the introduction of the book "App Savvy
Turning ideas into ipad and iphone apps customers really want "

It may interest people who are just coming into the world mobile development, and are wondering where to start. If you are an experienced businessman who already has stable income from your own mobile applications - most likely, it will seem useless and obvious to you.

It's true that top developers are doing very well, with the most popular apps, usually games like Angry Birds or Doodle Jump, receiving millions of downloads. When you figure that you can earn $1 on every download, and look at the colossal download volumes of these apps, it's very easy to look at App Store and see only bundles of money floating past you.


Business Insider: Angry Birds Maker Rovio Reports $200 Million Revenue in 2012, image from techcrunch.com

At this moment it is very easy to think “Why not me?”, make your own application - and be faced with harsh reality, which is usually very different from the cloudless existence of such leading developers. Statistics show that more than half paid applications the App Store doesn't even get 1,000 downloads a year, which means that after deducting Apple's commission for all your work, you'll only get about $700 - so, if I were you, I wouldn't indulge in optimism, looking at the amazing performance of popular games.

Does this mean that if you are new to mobile application development, you should immediately abandon this idea? Not necessarily, but, in any case, first I suggest you face the truth and study everything that is already in the App Store - then you will understand that you have very little chance of coming to it and immediately launching a very popular app. I don't want to say it's impossible, but many successful iPhone developers created a lot of applications before reaching their goal. The main thing you will gain from launching your first application is the knowledge and experience of developing applications yourself.

When you study the market, you may feel like you can't succeed. My advice to you in such a situation is to think more broadly. Develop not an application, but something that has value for you and for people not only as a program on the phone. Decide real problems users, make it easy and relaxed for them - and then you can create an application that will become really popular.

But before you start developing your mobile application, do not forget to think everything through. What sets successful mobile app developers apart is that they treat development like a business. They calculate the cost of development, the cost of entering the market, think through a way to return investments - and this allows them to make a stable income from development, and not try to draw a lucky lottery ticket.

The more time you spend studying the market, the more clearly you will learn to distinguish real opportunities for making money from illusory ones. Consider app development as an investment and you will learn how to interact with clients, media partners, you will be able to create own library design elements and code that you will use in all your applications.

Once you learn to understand the economics of the App Store, set up necessary connections and start building your library, you'll have a significant advantage over people who are just wandering around the App Store trying to find a place in the sun.

Unlike others, you won't come to the App Store filled with emotions and delusions of grandeur of your idea. On the contrary, you will be able to objectively assess your capabilities and understand how much money and time you will need to invest in your application, and how you will return your investment.

Introduction
Strategy
Chapter 1: Evaluating your mobile app idea
Chapter 2: What Should Your Application Have?
Chapter 3: From Idea to Concept

Development
Chapter 4: Finding a Team: You Need Help
Chapter 5: Getting a Working Application
Chapter 6: Improving the application before adding it to the App Store

Launch
Chapter 7: Getting Ready to Upload the App to the App Store
Chapter 8: Building Our Marketing Strategy
Chapter 9: Measuring Success and Considering Future Developments

The mobile app market is booming, so now is the time to be a part of it. Apps are now ubiquitous and perform an unlimited number of functions. A few years ago, creating an application meant learning complex programming languages, where you had to start almost from scratch. With the development of application technology, new tools have emerged that allow anyone to create complete functional application in just a few minutes. To find out how to do this, read on.

Steps

Part 1

Application design

    Define the purpose of the application. Good application focuses on one goal and improves it. Determine the need that your application will satisfy. This will help you determine target audience, as well as the required functionality.

    • For example, if you are creating an application for your business, determine what aspects of your business the application should focus on. Perhaps you should give the user the option fast communication with the service technical support or visit the nearest office of your company.
    • If your application becomes too complex, the functionality of the application creation software will likely not be enough for you. Complex applications typically require custom coding and design.
  1. Make some sketches. The life and death of an app depends on its design and usability. Spend some time creating a couple of sketches of what each window in your application will look like. Use arrows to show transitions from one window to the next.

    • The sketches don't have to be detailed, but at a minimum they should include all the information you want to present on each window.
    • Try to maintain a consistent design throughout all parts of the application. Identical elements, as a rule, should be located in the same place in each window. This way, the application will be more understandable for the user.
  2. Take a look at other similar apps. Go to Google Play Store and search for apps similar to what you are trying to achieve. Try to understand it and find out what works and what doesn't. Don't be afraid to borrow design ideas and inspiration from successful apps.

    Part 2

    Choice software
    1. View a demo of each service. Majority popular programs Application Creator provides demonstrations that can give you an idea of ​​how the program works. Thanks to them, you can understand whether the application is suitable for your needs.

      • When checking out the software demos, make sure they are powerful enough to create the application you designed. Most of these programs are collections of ready-made functions that can be combined together to create a single application.
    2. Try several different programs. Most of the programs presented above have free or trial versions. Use them to review each program and find the one that best suits your needs and skills.

    Part 3

    Creation own application

      Log in to the program of your choice. Almost all app creation programs will require you to register before you can get started. You can download the necessary software or create programs entirely through the website.

      Get started new project. Once you visit the tools page or download the software, you will need to start a new project. The process varies from program to program, but usually involves naming your application and adding a description.

      Choose a topic. Before you start creating an application, most development programs will ask you to install a base theme and color palette. You can change this setting later, when the application is already in the creation stage.

      Adjust the format of each window. Once you've added a few features to your app, take the time to lay out each window so your app has a cohesive look. The title bar should be in the same place, and the content should appear in the appropriate parts of the screen.

      • Various application creation programs provide different levels control over planning. Some applications only allow you to add completely ready-made functions, while in others you will be able to move and change every element on the screen.
    1. Select icons for your functions. You can assign icons to each of your application's functions. You can choose from the icon library that comes with many programs, or you can design and upload your own icon. Nice icons will help make your app stand out and contribute to the overall atmosphere of the app.

Please note that the studio is constantly being updated, so appearance windows and other details may differ from this example. Most of the lessons on the site now use version 2.3. On October 25, 2017, version 3.0 was released, in which a lot has changed. In this article I tried to replace all the pictures with the new version.

Java is used as the programming language for Android. For creating user interface XML is used.

Here we should make a small digression. IN Android Studio 3.0 added full support the new Kotlin language, developed by Kotans. Google has announced its plans to make the new "cat" language the main one. But you must understand what was written in previous years great amount examples in Java. If you are new to programming, then it is better to completely focus on Java during the first period of training; it will be easier for you to find answers to questions. Kotlin will not escape you, it will be easier to switch to it later, but the reverse process will be more difficult. When you get a little familiar with Java, you can simultaneously study examples in Kotlin. Google is now actively rewriting the documentation for Kotlin, but the complete transition is still far away, even less than 50%. A little later I will also do lessons using Kotlin, but this will not be soon.

According to a tradition established in the last century, every programmer had to write “Hello World!” (Hello World!) as the first program. Times are changing, and the Hello World! is already built into the Android development environment for compatibility purposes, and modern programmers must write a program Hello Kitty! (Hi kitty!). Agree that greeting a kitten makes more common sense than saying hello to any other world.

Therefore, we will divide the problem into two parts. First, let's run the finished program without writing any code to make sure that all the tools are installed correctly and we can create and debug programs. And then we’ll write our first program.

Creating a new project

Launch Studio and select File | New | New Project.... A wizard dialog box will appear.

Field Application name- a friendly name for the application that will be displayed in the application title. By default you may already have My Application. Let's replace it with . Basically you could write here and Hello world!, but Android has a wonderful ability to output required lines on phones with different languages. Let’s say that an American’s phone will have an inscription in English, and a Russian’s will have an inscription in Russian. Therefore, the initial settings always use English options, and prepare localized strings later. It is necessary to immediately develop the habit of correct code.

Field Company Domain serves to indicate your site. By default, your name as the computer user may appear there. If you have a website, you can enter its address, or come up with some name. The entered name is remembered and will be automatically substituted in the next new projects. Savings, however.

Third field Project location allows you to select disk space for the project being created. You can create on your disk separate folder for your projects and store your programs in it. The studio remembers the last folder and will automatically suggest saving in it. If necessary, you can set a different location for an individual project using the three-dot button.

Field Package name generates a special Java package based on your name from the previous field. Java uses an inverted version for naming packages, so it goes first ru, and then the name of the site. The package serves to uniquely identify your application when you distribute it. If a hundred people write a hundred applications with the name "Cat", then it will be unclear where the application written by the developer Vasily Kotov is. And the application with the package name ru.vaskakotov.cat easier to find. Please note that Google uses the package in its documentation com.example for demonstration purposes. If you simply copy examples from the documentation and try to post them in this form on Google Play, then nothing will work - this name is reserved and prohibited for use in the application store. Button Edit allows you to edit the prepared version. For example, you are writing a custom application and you need to use the package name approved by the customer, and not your default.

Below are two options for writing programs in C++ and Kotlin. We are not considering these options yet. When you write in Kotlin, check the appropriate box. However, you can convert the project from Java to Kotlin and later using studio tools.

Click on the button Next and move on to the next window. Here we select the types of devices for which we will develop our application. In most cases, we will write for smartphones and tablets, so we leave the checkbox next to the first item. You can also write applications for Android TV, Android Wear, Android Auto and Android Things.

In addition to selecting the type of device, you must select the minimum version of the system under which the application will work. Choose your option. On this moment Google supports versions starting with API 7, releasing special compatibility libraries for older devices. But you can choose a more modern option. I have a phone with a minimum version of Android 4.4, so I'm setting this option.

java

Folder java contains three subfolders - working and for tests. Work folder has the name of your package and contains class files. Now there is one class MainActivity. You can leave the test folders alone. If you know how packages work in Java, you can create new folders and subfolders.

res

Folder res contains resource files divided into separate subfolders.

  • drawable- graphic resources are stored in these folders - pictures and xml files describing colors and shapes.
  • layout- this folder contains xml files that describe the appearance of forms and various form elements. After creating the project there is already a file there activity_main.xml, which is responsible for the appearance of the main application window.
  • mipmap- application icons for different screen resolutions are stored here
  • values- string resources, color resources, themes, styles and dimensions that we can use in our project are located here. Here you can see the files colors.xml, strings.xml, styles.xml. In old projects there was also a file dimensions.xml, it has now been abandoned

Over time, you will be able to navigate these folders freely, as long as you don’t bother yourself.

Working with the project - Hello, World!

As already mentioned, the program Hello, World! is already built into any new project, so you don't even need to write anything. You just need to launch the project and get a ready-made program!

To study you need to open two files - MainActivity(most likely it is already open) and activity_main.xml (res/layout) in the central part of the Studio. If the files are not open, then open them yourself double click for editing (or viewing). In this way you can open any file you need.

Let’s not study the code for now, but just click on the green triangle Run(Shift+F10) on the toolbar at the top of the studio to launch the application.

If you haven't configured the emulator, it means you haven't read the previous tutorial. Set up the emulator first and run the project again. Or connect a real device.

If everything was done correctly, your program will load in the emulator or on the device. Congratulations!

So, if the program has started, you will see an application window with the inscription. The title of the program will also be . All these lines can be found in the file res/values/strings.xml and edit if desired.

Now let's look at the code. Let's study first activity_main.xml.

You can watch it in two modes - Design And Text.

Open in mode Text.

This is a new template code that was released in Android Studio 2.3 in March 2017. Previously, a different code was used with RelativeLayout(and even earlier, another code with LinearLayout). If you come across old examples, the studio has a context menu that will help you convert the old code into new one.

A little about XML code. There is a special container ConstraintLayout, which contains the component TextView, intended for text output.

Now let's look at the Java code ( MainActivity.java)

Package ru.alexanderklimov.helloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity ( @Override protected void onCreate(Bundle savedInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ) )

You have a class file open in front of you, where the class name is MainActivity matches the file name with the extension java(this is a rule set by the Java language). The first line contains the name of the package - we specified it when creating the project ( Package Name). Next are the lines for importing the necessary classes for the project. To save space, they are collapsed into one group. Unfold it. If one day you see that the class names are grayed out, then they are not used in the project (hint Unused import statement) and you can safely delete the extra lines. They can also be deleted automatically (configurable).

Next comes the declaration of the class itself, which is inherited ( extends) from an abstract class Activity. This is the base class for all application screens. It is possible that you will have AppCompatActivity, if when creating the project you left support for old devices (checkbox Backwards Compatibilty (App Compat)). Old versions did not have the goodies that appeared after Android 4, so a special compatibility library was created for them, which allows you to use new items from new versions of Android in old programs. Class AppCompatActivity This is exactly what the compatibility library is about. Consider her a poor relative of the base Activity. It has all the necessary methods and helper classes, but the names may vary slightly. And you can't mix names. If you are using a class from the compatibility library, then take the appropriate methods.

At different stages, different activity class names were used, which you may encounter in older projects. For example, it was first used FragmentActivity, then ActionBarActivity, and on April 22, 2015, a new version of the compatibility library was released and a new class is currently used AppCompatActivity.

In the class itself we see a method onCreate()– it is called when the application creates and displays activity markup. The method is marked as protected and is accompanied by annotation @Override(overridden from base class). The summary may be useful to you. If you make a typo in a method name, the compiler can warn you that the parent class does not have such a method Activity.

Let's look at the method code.

Line super.onCreate(savedInstanceState); is a constructor of the parent class that performs the necessary operations for the activity to work. You don't have to touch this line, leave it unchanged.

Second line setContentView(R.layout.activity_main); is of greater interest. Method setContentView(int) includes content from a markup file. As an argument we specify the file name without extension from the folder res/layout. By default, the project creates a file in it activity_main.xml. You can rename the file or create your own file with the name cat.xml and connect it to your activity. Then the code will look like this:

SetContentView(R.layout.cat);

To keep your code neat, try to adhere to standards. If you are creating markup for an activity, use the prefix activity_ for the file name. For example, the markup for the second activity could be named activity_second.xml.

Many people think that writing their own application for Android smartphones is an extremely difficult task. Many people think that only companies with dozens of developers and designers who spend months creating a product can write commercially successful programs for Android. Of course, if there are large applications, for example games with complex 3D graphics, on which entire teams of specialists work. But there are also many applications that are popular, are in the top on Google Play, and at the same time were created by one person. And such applications bring enough big income to your developer.
IN English language There is a term "indie". Single developer writing apps for Android it sounds like “indie android developer”.
Search Google for these words and you will find hundreds of blogs reporting revenue from their apps. And if others were able to write and release their own application, then you can too!
You may know that the famous game Angry Birds, which brings millions to its creators, was made by a small Finnish company that had been unsuccessfully trying to make other games for several years. And the Instagram application and service was made by a couple of Californian guys. The game Cut The Rope with millions of downloads was created by two brothers from Russia. Such examples inspire me.

Myth 1. You need to know everything perfectly Java language to write Android applications.

Of course, basic knowledge of Java necessary. If you already know any other programming language, then it will be very easy for you to start writing for Android. If your programming knowledge is practically zero, do not despair. Some parts of the application can be done by writing complex code. For this purpose, the Eclipse environment has visual editor interfaces. Using the mouse, dragging buttons, lists, pictures and other elements from the palette, you can create your own application.

Of course, you can’t do without programming at all, because in addition to creating the button itself, you will need to describe the action performed when it is pressed. But then books like this will help you quickly. In addition, if you speak English, then many ready-made pieces of program code that solve your specific tasks, can be found on the Stackoverflow forum.

Myth 2. You need to have an Android smartphone

IN Android SDK emulator included. This is a program that “represents” a phone or tablet on Android based. It runs on regular computer and looks like regular smartphone, only it is controlled not with a finger, but with a mouse and keyboard. In the emulator you can run your application. You can also install different sizes screen, and check how your program will work on various models smartphones. So, for developing Android applications, a phone is not a necessary thing. Your computer will be your Android smartphone.

Myth 3. You need a lot of money

The Eclipse development environment and Android SDK are free. Android programming tutorials and Java tutorials can be found online.
Making your own app may not cost you anything other than your own time and effort.
If you want to publish your application in largest store Google Play ( former Android Market), then you will need $25. But this amount will be more than paid for by the income you receive. I will tell you how to properly present your product on the application market in upcoming posts.

Myth 4. You need to be able to draw/use Photoshop/Corel Draw

The above application can only contain standard elements controls and text, and have no graphics at all. And at the same time used by a million people. Look, for example, at the many Twitter clients or applications in which the main thing is text. All you need is to make an icon for your application.
If you are making a game, then you cannot do without good graphics. If the last time you drew in kindergarten, then it’s better to hire a freelance designer. It can be found on one of the exchanges, for example freelance.ru. Set your requirements on the website and choose a contractor from among the freelancers who responded. As a result, you will get a great design for a reasonable price.

Having dispelled some myths, I summarize my post today: Android application development is interesting and accessible.


Mobile applications can be created not only by specialized companies with highly qualified programmers, but also by ordinary users. What tools can they use for these purposes? What should you pay attention to when developing your own software for mobile devices?

Purpose of mobile applications

Before considering what tools are used to develop mobile applications and how to create them, let’s study what the purpose of their release may be, based on the purpose of the corresponding solutions. Mobile applications can be classified into the following main types:

Informational;

Transactional;

Communication;

Mobile versions of computer software - editors, viewers, browsers;

Analytical applications and schedulers;

Educational solutions.

Actually, games are also mobile applications, but most often they are classified as a separate software category. Let's study in more detail what the marked mobile applications are and how to create them, taking into account possible costs.

Information applications

The essence of information applications is to provide their users with access to certain useful information and news. An example of a corresponding solution is an application from a clothing or footwear manufacturer that informs users about discounts and special offers of this company. This could be a mobile catalog or a brochure in the appropriate format.

Creating an iOS or Android mobile app of the appropriate flavor is probably the easiest. The fact is that the basis for software of this type maybe, for example, an already working company website or its mobile version. It is enough to adapt its interface, as well as the communication mechanisms implemented in it, to suit software algorithms mobile operating systems- we will consider further what tools this can be used to do, and the mobile application will be ready.

Transactional Applications

Transactional applications are designed to make payments for various goods and services purchased via the Internet. These types of software can be issued by banks and payment systems. It is worth noting that in many cases transactional mobile applications are the most complex in structure and code. Only the most highly qualified specialist knows how to create them and, most importantly, adapt them to legal requirements.

Therefore, if the user lacks such skills - as in the solution part technical problems, and in the field of ensuring compliance of applications with legal requirements - then such solutions are worth developing independently, then, first of all, for informational purposes, during self-study. The implementation of such developments in practice will require additional time and, in many cases, additional costs.

Communication Applications

Communication applications are those programs that are designed to provide communication between users using the resources of the developer or third-party brands. Creating such solutions yourself, as is the case with transactional applications, is quite difficult. Again, it makes sense to do this mainly when there is a desire, in principle, to learn how to develop the appropriate type of products. But putting them into practice will require significant resources, which few private users have at their disposal.

How these mobile applications are implemented, how to create conditions for them stable operation, in most cases, only highly qualified specialists know. But, of course, a skilled programmer who is willing to spend a significant amount of time and investment can, in principle, develop a messenger or a small social network that is simple in structure, but in demand due to its simplicity and convenience.

However, they probably won’t be able to compete with Skype, Vkontakte or Viber. Therefore, at the planning stage for the development of traditional applications, the developer should realistically assess the prospects for bringing his product to market.

Mobile versions of computer software

Editors, viewers, browsers are applications that are similar or similar in functionality to the corresponding solutions used by users of traditional computers. But, of course, they are far from the only ones that can have analogues adapted to run on a PC. Actually, any types of applications in the classification we have given can be computer applications. However, the solutions under consideration are among those that became familiar to users before they entered the market. computer technology Smartphones and tablets began to appear en masse. Therefore, programs of the corresponding type in the original are, as a rule, presented in versions adapted to run on a PC, and only after the appearance of smartphones and tablets on the market are they presented in the form of mobile versions.

How to create a mobile application for Android or iOS of the appropriate type yourself depends primarily on whether the original computer version of the software is licensed or whether it is distributed as free software that has open source. In the first case, creating a mobile version of the program in most cases will require approval from the copyright holders. And if they refuse to authorize the development of the corresponding version of the program, then its mobile version, even if the user creates it on his own initiative, will most likely be considered illegal. If the original software is open source, then develop its version for mobile device- a question of technology.

Analytical software and schedulers

Analytical applications and schedulers allow you to carry out various statistical observations, create a budget, schedule meetings, etc. It can be noted that this segment of mobile applications is among those in which private developers, as a rule, are given the greatest freedom of action. There are not many brands that know how to create a mobile application for Android or iOS of the appropriate type much better than a private developer. The most important thing in such decisions is the concept. Its development depends mainly on the skills of a particular programmer, designer, finance specialist, and it is possible that the approaches he proposes will be more effective than those developed by a large company.

Training programs

The same can, in principle, be said about training programs designed for mobile devices. They are designed to make it easier for users to master certain languages, norms, and skills. A private developer may well offer users a solution of the appropriate type, more convenient and effective in comparison with what can be created by a large company.

Developing mobile applications yourself: software structure

How to create a mobile application yourself? To successfully solve this problem, the developer should first of all decide on the optimal structure created program for a mobile device. Regardless of the purpose of the software, it will consist of 2 main components: a front-end and a back-end module. The first represents the interfaces through which the user will use the application's capabilities. The second module is responsible for receiving and transmitting data within the framework of interaction between the corresponding software and the user (in some cases, also the developer, if, for example, he is required to provide certain updates or feedback).

What could the application interface be like?

More detailed characteristics The structure of mobile applications depends on their purpose. So, for example, if information software for an online store is created, then its interface may contain:

Navigation options with which the user can access certain data;

Feedback block with seller or supplier;

Personal account, which will reflect data on the user’s requests and purchases;

A news block that will contain information about discounts and special offers of the online store, as well as other significant information.

It is possible that it would be better for the store owner to create a mobile site application that repeats exactly its structure, so that users who are already familiar with the resource can easily navigate the structure of the corresponding software for mobile devices.

applications: tools

Let us now study a number of practical nuances of developing the solutions under consideration. The question of how to create a mobile application yourself can be solved with the help of convenient designers, which are presented in fairly large quantities on the relevant software market. In particular, you can pay attention to such solutions as: MobiCart, BusinessApps, My-Apps, Net2Share. All of them are presented in cloud software format and can be accessed from any device via the Internet. Let's look at how to create a mobile application using the capabilities specified programs, more details.

Application Development Tools: MobiCart

This service can be useful to the owner of an online store just in case he does not initially have his own website. Using MobiCart, a developer can create a functional application through which users will be able to build the widest range of communications with the seller: place orders, pay for them, receive information about discounts, contact the supplier.

The main functions of the service in question are provided on a commercial basis, but the developer can get acquainted with its capabilities for free.

Tools for creating mobile applications: BusinessApps

This application builder is optimal mainly for small online stores. It allows you to implement:

Interfaces for messaging, adding items to cart;

Organization of negotiations between the supplier and the buyer of goods;

News block.

It is noteworthy that this application designer allows you to use templates adapted for creating applications for enterprises representing specific areas of business, for example, catering, fitness. The service in question is not free; its subscription fee is $59 per month. However, you can use trial version. In addition, if the user does not like this designer, he may demand a refund of the funds paid.

Application Development Tools: My-Apps

This designer, in turn, is free. The problem “how to create a mobile application for iPhone or Android using it” can be solved by using 10 templates that are adapted to ensure communications with consumers of enterprises in a wide range of business areas. Among the most notable features of the service in question is the rapid publication of the application in the largest catalogs - the App Store and Google Play.

Application Development Tools: Net2Share

The designer in question is one of the most convenient solutions that allows you to quickly understand how to create a mobile application for Android yourself. This resource adapted precisely for the development of products on the appropriate platform. It is characterized quite large set functions, as well as the opportunity to earn money on the application being created using internal advertising services. That is, the user can, having developed a particular product, upload it to corporate account. In addition, the most active developers receive free profile on Google Play.

In addition, Net2Share conducts free training courses for users, through participation in which a developer can improve his skills in creating and promoting applications on the market.

Of course there is a large number of other specialized services allowing you to create a mobile application or game. In many cases, it may be preferable for the developer not cloud service, but a distribution kit that allows you to implement one or another program code. But the resources we discussed above are designed mainly for users with minimal experience and therefore can be used even without special training. They are universal and allow developers to create applications optimized for the most different areas activities.