IOS app development: where to start?
Everyone who plans to start a career in this activity is trying to find out what an iOS developer should know. Others are convinced that this option is too complicated - after all, programming is not given to everyone. But there are those who know: under a rolling stone, water does not flow, and with efforts you can move mountains to the right place. Specialized offices are currently engaged in teaching iOS development. Mostly these are quite expensive private schools. Those who want to save, take courses development for iOS online: on the Internet a lot of resources are freely available. However, a good result will be obtained only with maximum effort.
Money: how to get?
The demand for tutorials on developing for iOS has become particularly high since 2014. It was then that the author from Vietnam released a toy that quickly gained worldwide popularity under this platform - simple in execution but difficult to pass. The project received the name Flappy Bird and brought its creator several hundred thousand American dollars in just a couple of months.Then, many people who are able to see the future of technology and predict what demand will be after some time, have realized that the time has come to master the development from scratch for iOS. Indeed, at present, the demand for specialists in this field is great, but only those who can write quality code receive good money.
The development of applications for the iPhone in many causes a real sea of questions. It is completely unclear where to begin, how to apply existing knowledge, where to get training in order to gain a good level of skills. How to start developing applications for iOS? Many modern books answer this question, but the large volumes and complex presentation of information make them difficult to access for non-professionals.
Usually, iOS development lessons begin directly with writing code, as well as explaining techniques that may be useful to a beginner. But after all, it is far from always that the one who is already familiar with a suitable programming language is taken for mastering, therefore it is more correct to say that the optimal primary stage is the study of a suitable tool. Most iOS developers use Objective-C.The language belongs to the object-oriented group. From the experience of many iOS developers, it is clear that it is more convenient than others when creating applications for smartphones. However, not only for "apple" technology - you can use it when working under Android.
If the person who has previously mastered a language from the object-oriented group decided to start creating mobile applications, then working with a new tool will not cause problems. All the PLO are quite close to each other, subject to similar logic. How to become an iOS developer if you have code making skills? We need to take a book explaining the main features of Objective-C, and practice programming elements. It takes a little time, but it gives an excellent result. A beginner will master the syntax, understand what features are hidden in the language, how to organize the code with maximum efficiency. It is worth remembering that if the code is of high quality, then the developer of iOS is also highly appreciated. Salary will be decent - hundreds of thousands of rubles. But those who write complex, incomprehensible, confused code, get a lot less.
We go from scratch
However, developing applications for iOS is available not only to those who already have experience in creating code.You can safely take up the development of the field, without having specific knowledge and education - this is a new thing. Of course, Objective-C is not the easiest language, including from the OOP category, so it will be easier to cope with it if you first understand the logic of this entire group of software tools, and then pay particular attention to the specifics of a particular option. According to experts, the development of applications for iOS must be made taking into account the three main features inherent in the tool for creating code: it is polymorphism, inheritance, encapsulation. These are the whales of the programming world for Apple smartphones.
In 2014 an interesting software development was released - the Swift language. It was presented by Apple itself, presenting as a tool for creating applications for their equipment. The main objective of this product is to make the code development process simple, fast. Swift is focused on the features of smartphones, so when it is used, developing applications for iOS is much easier than trying to customize products for this purpose, originally conceived as a way of writing code for stationary machines running other operating systems.Swift has gained a certain popularity - it is written not only with the code for applications of smartphones and tablets, but also programs for systems like UNIX.
Do not spray!
Mastering Swift tools is reasonable when a programmer is already familiar with object-oriented programming languages. It is imperative that you devote time to mastering the development of Apple, even if a person is able to write code in Objective-C. But if you have yet to master this indispensable tool for creating mobile applications, then you should not be distracted from the main task. Swift, of course, is important and necessary, but it will be possible to do it later - when Objective-C can "win". And at first, this new tool alone will be enough to load the brain in full. As experts say, this is definitely not the easiest programming language, but rather flexible and provides many possibilities for creating efficient code.
Toolkit: useful for programmer
Developing applications for iOS involves interacting with several tools to make an application optimized, workable, efficient, and aesthetic.Traditionally, the most important and first mentioned is the development environment. When creating products for Apple mobile devices, it's best to turn to Xcode. It is completely free, and you can download it through the official app store. Distribution is free, access is for everyone.
The next iOS application development tool is an editor that allows you to adjust the generated code. Preference is better to give easy, simple programs. Traditionally, the most popular are those where there is a backlight function. Just a few seconds - and now the code has already been written. It takes a little time to detect erroneous lines and fixes, it does not load the resources of the machine on which the programmer works.
Graphics worth seeing
Surprisingly, many novice programmers do not spend time on this component of creating a program. In order for application development for iOS to become a process that ends with the release of a workable, attractive application, you need to master the tools that allow you to adjust the appearance of the program. Vector graphics technology works best.This will enable the creation of unique images, icons, giving the product originality and individuality. Despite the fact that others will say that embellishment is too difficult, it is impossible to succeed if the product does not visually attract the user. Especially nowadays, when the competition in the Apple app store is huge and there are options for every taste and for any purpose. It is possible to force them out, to draw attention to their development in the case when the novelty not only functions well, but also looks beautiful.
Correct start: clear plan
Without creating a detailed plan, you should not expect any successful result. Structuring is not the easiest task, but it definitely deserves attention. Before starting directly coding, you need to allocate a few hours and sit down with a sketchbook to make an optimal plan. Within the framework of planning, it is important to form an idea about the design decision of the product, to formulate for whom it is intended and what functionality it carries.
Thinking design begins with the concept of wording.You also need to choose which functions to implement in the program, give them a brief but succinct description, and also indicate all possible patterns of interaction between the elements, including transitions. It would not be superfluous to draw sketches of important elements. Determining the functionality, you need to select one task, which the new product is aimed to solve, and formulate the features of the application, focusing on this goal. As for the audience, it is important to understand that age, area of interest, lifestyle and gender strongly influence both tastes and the goals with which users download applications. By choosing your target audience correctly, you can successfully select a design solution and additional functionality.
Project: first went
The very first project should not be difficult. You can try to create an educational application that has only one screen. To do this, open Xcode, create a new project, set the platform for applying the correct optimization tools, and then choose the type of software product. To simplify the development of the environment, you can start with Single View Application. For the project set a unique name.In standard mode, the programming environment assumes that the spelling will be done in Objective-C. If a programmer wants to use another tool, he needs to refer to the listing of possible languages. Among the menu items there is a person responsible for the language, there you should assign the most convenient option available. After that, switch to universal mode in the Devices tab.
The navigation bar expands the hierarchical structure to search for the document Main.storyboard. When you select it, you can see the Interface Builder key - it is activated, the necessary tools are selected from the panel shown, moved to a comfortable position, leveled, and adjusted. To reflect elements in the code, each object is selected with the mouse while holding the Ctrl key, moved to ViewController.h, which triggers the launch of the Outlet dialog box, where you can specify the properties of the resulting link. Here the programmer specifies the name by which the element can be called in the program code.
To create an effective action handler, you must repeat the above action chain, but use the ViewController.m dialog box. A method with an encoded program is formed inside it.The machine will access it whenever it needs to interact with the component.
We believe the result: testing
In large companies, several employees are engaged in this task at once. A rather complex methodology is applied. First, cases are formed, where it is indicated what actions need to be tested, what results the program should produce, and also conduct real experiments with fixing the results. For the novice developer of mobile applications for Apple's OS, everything is somewhat simpler (but also more complicated at the same time). Here, the testing is completely borne by the author of the code, but the tasks to be checked are usually a bit, so you can perform the operation in manual mode. This will require an emulator through which software components are launched. During the interaction, you can find which solutions were unsuccessful, which errors were made, mark it for yourself and correct it when finalizing the code.
With self-testing, it is important to present yourself as a third-party user who is not affiliated with the code. Moreover, you need to imagine yourself a critic who is interested only in mistakes, a person who does not care about the positive qualities of the program, but only the negative ones. We must try to break the program with all possible methods.Should numbers be entered? Enter the letters in this field. You need to press a key quickly - press a long time. In short, testing is the time when you need to break down all the established rules and recommendations.
I do not want and I will not!
Not every programmer is ready to take on his own program, using such barbaric methods of interaction. To others, this seems like a boring task that is not worth the time. To get rid of unnecessary work, save hours and eliminate unpleasant situations, you can attract freelancers to the project. There are specialized sites where you can find ready for a small reward to look for all sorts of all sorts of bugs in the new product.
As the professionals say, to entrust the search for mistakes to an outsider is a good option, much more effective than an independent solution to the problem. The freelancer has no idea what the program should do and what it shouldn’t, therefore, his consciousness is “not clouded” with excess information. It is easier for such a person to test applications, which means that they will be able to find more problems and fix them before the official release.
If the experiments on freelancers have shown that the application is ready for "free swimming", it's time to publish it. For this product is downloaded in the AppStore. When you click the keys responsible for this, the XCode software environment will make an assembly of the type that the programmer will set in advance. You must select the Distribution option. The compiler will create a file and write it to the directory assigned to the project. Then the programmer manually packs the document into a ZIP archive.
The next step is to use the iOS Developer Center interface, where you need to find the iTunes Connect menu. Through the functions of management and additions you can go to the questionnaire page of the new product. All the fields indicated here will have to be filled in by yourself. You can prepare the information in advance - for example, while the project is being tested. It is necessary to write a unique description, specify contact details, make a small icon (resolution 512 * 512), screenshots.
What to do next?
To publish an application, you need to use a special software product designed for downloading new objects - the Uploader Tool. You can download it from the link that the system will open when the user goes to the menu ready to download.It automatically connects to iTunes, after which the shell will automatically determine what projects the user has. It remains only to choose the right one, and it will be loaded by the program, without special efforts.
After downloading a new product is sent to check that usually takes several days or even weeks. In case of a negative result, the developer receives an email notification listing the reasons for the refusal. If you can eliminate all the shortcomings, you can re-send a new product for moderation.
News is important
Xcode developer often releases updates for this environment. You must apply the latest version. This not only makes it possible to work with the program, where the number of errors is minimized, but also allows you to regularly learn about all the updated features. Using the newest and most powerful interface, the programmer simplifies the task set for him. In addition, Apple regularly releases iPhone SDK updates. The most current toolkit will be the key to a good result.
A fly in the ointment
If the application passes the test successfully, it is placed in the shared area.Probably at the very beginning a lot of negative reviews will fall on the developer. Not all of them are constructive. You need to be able to analyze information from users to improve your product, but the extra and meaningless negative should be brushed aside, not letting it hurt itself and undermine the faith in their own strength. If a person behaves rudely, and there is no benefit from his criticism, you can simply ignore the messages he leaves.