The profession of a programmer is one of the most prestigious and in demand, that’s a fact. The software development industry has its niches. Of these, the fastest growing, and at the same time the most highly paid, is software development for mobile devices. As you know, it just so happened that, leaving their competitors far behind, three constant rivals took the lead. The trick is that one of these three is the undisputed leader, while someone always catches up.
In the mobile technology segment, Apple is undoubtedly the leader with its iPhone smartphone. At a presentation held in September, the Cupertino company demonstrated the 7th version of the mobile device. Along with it, Apple introduced a new version of the mobile operating system iOS 10. Now it is the most significant operating system in the world, like its predecessors. It follows that learning iOS development is the best investment of time and money.
Apple ecosystem
Today we will develop a simple mobile application for iOS. Of course, a native Mac is best suited for this. But if you are a Windows supporter or simply don’t have a Mac, you can install the macOS operating system under a virtual machine in Windows. On the Internet, it will not be difficult for you to find a version of macOS specially tailored for PC, popularly called Hackintosh. Feel free to install it on a VMware virtual machine, VirtualBox - your choice. Let me warn you right away that the PC keyboard does not have some of the keys that are on the Mac keyboard, and many of their combinations cannot be pressed in Hackintosh. This pretty much spoils the mood. Otherwise, all the operations described below can be successfully performed on Hackintosh.
Required knowledge
To program in general and for iOS in particular, you need to know quite a lot. Mathematics and logic may not be needed at first, but they will be in demand later. Modern technology has eliminated the need for a programmer to have a thorough knowledge of computer architecture, but understanding basic mechanisms such as number systems, their conversion, the speed of subroutines or the efficiency of algorithms (big O) is necessary.
At a higher level, an iOS developer needs to have a deep knowledge of the macOS operating system and iOS itself. You also need to master the Apple programming language. Knowledge of Delphi, C++, C# or VB.NET will not help you much. Apple has its own ecosystem with its own languages: Objective-C and Swift. Of course, knowledge of C++ has never harmed anyone; programs and inserts based on it are found everywhere, even at Apple. But the most used by definition is Objective-C, simply because it appeared much earlier (in the mid-eighties of the last century), while Swift only two years ago (in 2014). Apple has high hopes for the new language and is investing heavily in it. Objective-C is used to support the old software, and the new one is written in Swift. So it's good for you to know both.
In order not to waste time, all these programming languages can be learned under the strict supervision of teachers on the GeekBrains website.
Development Tools
As you know, the main developer tool for macOS and with it iOS is the Xcode . It includes tools for creating applications for Mac, iPhone, iPad, Apple TV, Apple Watch. All Apple platforms. Xcode contains the Interface Builder, a code editor that supports all modern code tools. In addition, without leaving Xcode, you can test the application; if it is developed for an external device, then it can be run in an emulator.
The system includes emulators of all devices, new versions of which can be downloaded. In addition, Xcode contains graphical tools for analyzing application performance, including tools for diagnosing CPU load, storage usage (HDD, SDD and others), load on the graphics adapter (from the OpenGL side).
On September 13, a new, hotly anticipated version of the development environment 8.0 was released. Stable versions can be downloaded for free from the App Store. Alphas and betas are distributed by developer subscription. The eighth version includes: a new version of the Swift 3 language, a learning tool for Swift Playground for iPad, a new version of Interface Builder, which has become faster and allows you to view the application layout on different platforms, without the need to deploy the application itself on the simulator.
If you have an older version of Xcode, we recommend updating as we will be using the latest version. You can download it from the App Store:
Xcode 8 on Mac App Store
We recommend reading:
Xakep #257. Pivoting
- Contents of the issue
- Subscription to "Hacker"
Xcode 8 can be used to develop applications for macOS Sierra, iOS 10, watchOS 3 and tvOS 10. All SDKs are available. New versions of operating systems began to appear consistently right after Apple’s presentation, which took place in early September.
Objective-C language
Let us briefly recall the basic information about the language. Objective-C is a compiled object-oriented programming language used for writing applications for Apple systems. It is a superset or, in other words, an add-on to C, inheriting from the latter syntax, data types, methods of monitoring the progress of program execution and adding to it the capabilities of object-oriented programming - a description of classes and methods.
As in C++, in Objective-C the central role is played by objects, which are associated with four paradigms: abstraction, encapsulation, inheritance, polymorphism. C++ is a strongly typed language, while Objective-C is weakly typed or has a dynamic data type system. Like Smalltalk, Objective-C sends messages to objects. This is an exceptional feature of dynamic languages because the type of objects is checked at runtime rather than at compile time.
The description of the Objective-C language takes up more than one voluminous volume. Therefore, in order to gain objective knowledge, it is convenient to take the Mobile Developer course. An entire section of the course is dedicated to this language.
Application layout
First, you need to decide on the target audience for your application. The interface and functionality will depend on this. Of course, if you are developing a program, it is worth achieving a solution that did not exist before. This is the only way to achieve popularity.
It is also worth deciding how the application will be structured. You should make the interface as simple as possible so that it attracts new people, and does not scare you away without showing your capabilities.
Each button should display its actions and show what it will do. The user should not have any questions about what any key will do. Think over, and then implement, a high-quality interface.
iOS application development
As a sample we will develop a very simple application. Let us not deviate from the sacred tradition, let us greet the world. However, taking into account the fact that we have a graphical application, we will diversify it a little: we will add a button, when clicked, we will display or hide the inscription “Hello, World”.
Launch Xcode, in the window that appears, select Create new project or in the main menu File -> New -> Project. The next window will ask you to select the target platform and application type.
Application Wizard
In this case, we are interested in the iOS platform. There are seven types of applications to choose from. Six of them are templates for typical applications of the iOS operating system, containing a different set of components by default. The seventh type is play.
Application Types
- The Single View Application template is designed for a simple single-screen application. The preset includes a View Controller component, which allows you to customize the appearance of the application using the Interface Builder form designer.
- Master Detail Application creates an application that displays a collection of objects in a table view. After selecting one of them, detailed information about that object is shown. The first view is the master, the second is the detailing.
- Page-Based Application creates applications that have multiple screens, like pages in a book. Consequently, e-readers are created from this blank.
- Tabbed application allows you to create applications where each screen can be switched to at any time, that is, each screen has its own button to activate it, on which the title is displayed. An example is iTunes.
- Game is used to create a game template. There are four frameworks to choose from for creating a game: SpriteKit, SceneKit, OpenGL ES, Metal. Let's look at them briefly. SpriteKit is a system for 2D rendering and animation of textured rectangles - sprites. When displaying frames, a standard loop is used, the frame is displayed after all the contents of the scene have been processed. SceneKit is a high-level framework for rendering 3D graphics without OpenGL. It supports loading, manipulating 3D objects. It includes: a physics engine, a particle generator and an easy scripting method. OpenGL ES is a standard in computer graphics. Allows you to visualize 2D and 3D scenes. Allows you to describe the pipeline for a video card: vertices undergo transformation, are assembled into primitives, which are rasterized into a two-dimensional image and displayed on the screen. Programmable shaders can be included in the pipeline. Metal is a low-level API that will allow you to squeeze all the power out of your video adapter. Streamlined APIs along with precompiled shaders and multi-threading take your game to new levels of performance and quality.
- Sticker Pack Application is a new type of application introduced in iOS 10 and Xcode 8. It is a set of simple or animated images used in the new iMessage. It does not require coding to create it.
- iMessage Application is a new type of application that appeared in iOS 10 and Xcode 8. Allows you to create add-ons for iMessage, for example to purchase and download your sticker pack. You can also use the iMessage API to create your own analogue of this application, including playing audio, video, using stickers, and more.
Publishing an application
So, your application is ready, now it needs to be sent for review to the AppStore (if your application is not added to the AppStore) and it simply cannot be used.
In order to submit an application to the AppStore, go to the application editor in Apparchitect and click on the “Submit to AppStore” button.
That's all for today. In the future, I plan to do more lessons on this topic, so do not forget to leave your comments, and also subscribe to the YouTube channel and RSS feed.
Creating the first project
As a template for our application, we will select Single View Application. Since we will not be developing a large program, the funds provided by this provision will be enough for us. Click Next. On the next page of the wizard, you need to enter a project name, for example ShowLab. In the Language drop-down list, leave the default language selected - Objective-C. Next, in the Devices drop-down list, leave the Universal selection. Here you determine for which device (iPhone or iPad) the application is being created. The Universal clause means for both. Let's uncheck the Include Unit Tests and Include UI Tests boxes; we don't need any tests. Next. Select a folder to save the project. Now click the Create button.
As a result, a window will open with a list of all parameters applied to the project. In this window, you can change the parameters previously set in the wizard: orientation, target device, etc.
Project properties
First we need to create the application interface. To do this, select the Main.storyboard file in the list on the left with one click (if this file is not visible, expand the contents of the ShowLab folder). To the right of the list, the entire window will be occupied by Interface Builder. The device layout will be displayed in the center. In the lower right corner of the window there is a component panel. Drag the Label and Button components from there onto the layout. Above the component panel is a list of properties. If you don’t have it, click the Show the Attributes Inspector button, located under the window title on the right side of the interface.
Select the Label component in the layout and configure its Text property: leave the Plain selection in the drop-down list, enter the desired inscription in the line below, in our case “Hello, World”. If the text does not fit within the borders of the label, change them by dragging the handles on the edges of the component. To centralize it horizontally, go to the Size Inspector page by clicking on the Show the Size Inspector button (to the right of Show the Attributes Inspector). On this page, from the Arrange drop-down list, select Center Horizontally in Container.
Now select the Button component, change its Text property to the desired label - Switch. You can center it in the same way as described above.
Creating a connection between graphic elements and code
In Visual Studio (or Delphi), an object in the code is created automatically the moment you place a visual component on the form. This doesn't happen in Xcode, but it doesn't cause problems.
Open the contents of the ViewController.h header file in a separate window by double-clicking on it. This file contains a declaration of an extension of the UIViewController class, marked with the @interface keyword. This feature was added to the second version of Objective-C. Now perform this trick: move the mouse cursor to a component - a text label, hold down the Ctrl key and the left mouse button. Move the cursor to the window with the code (file ViewController.h), a blue line will follow the cursor. Release the mouse and key inside the ViewController interface description.
The Outlet creation window will appear.
Creating an Outlet
This is a property of an object that refers to another object (in this case, a visual component). You need to enter the name of the Outlet object, by which you will access the visual component, let it be lab. Next, the object type is selected, it is selected correctly: UILabel.
Even lower in the Storage list, select the type of object reference: weak or strong. If you choose strong, then the object pointed to by the property will exist as long as the property points to it, in which case it will not be automatically deleted when it is no longer used. On the other hand, when a weak reference is in effect, the object can self-destruct. So, select the weak link type and click the Connect button. As a result, the following line will be added to the code:
@property (weak, nonatomic) IBOutlet UILabel *lab;
Let's make sure that Outlet is a property.
Now let's create an Outlet for the button. The algorithm remains the same. Only for the Name property you need to enter a different name, for example but. The line will be added to the code:
@property (weak, nonatomic) IBOutlet UIButton *but;
As a result, we have two pointers to visual components: lab and but - respectively, an inscription and a button. Now, using pointers, we can manipulate components in code.
Then you need to create a button click event handler. To do this, open the implementation file ViewController.m in a separate window. In exactly the same way as you dragged the line into the header file to create the outlet, from the button, drag the line into the implementation file and drop it to the closing command bracket - @end. A window for creating an event will appear, similar to the window for creating an outlet. You see the difference: a link to an object is created in the header file, and a method is created in the implementation file.
Creating an Event Handler
Fill in the Name field, its value represents the name of the property - method. Let it be onClick. Leave the Type field value as default - id. In Objective-C, this type is the ancestor of all others. In the Event drop-down list, the Touch Up Inside event is selected by default, which occurs when the pointer (mouse, finger...) is released over the button, that is, the final stage of pressing the button. That's what we need. In the Arguments list, we will leave the default value: Sender is the object that sent this signal, in our case it will always be a button. Click the Connect button. As a result, the following code will be added:
— (IBAction)onClick:(id)sender { }
A minus at the beginning means a closed method (private). The IBAction keyword marks events (methods) of visual components from Interface Builder.
Between the command brackets we will write the code that is executed when the button is pressed:
_lab.hidden = !_lab.hidden;
In this line of code we invert the value of the hidden property. It is of type BOOL, which has two values: YES - true and NO - false (somewhat unusual for Windows programmers, where true and false).
Pay attention to the underscore character before the name of the object - the label (_lab). Without it, compilation will fail with an error. The underscore is added automatically for objects contained within other objects; that is, in this case, the lab object is contained in the ViewController object. Previously, this was a convention used to distinguish between objects declared as members of a class and local objects. And now this is a strict rule implemented in the language compiler.
Now you can compile the application and run it on the simulator. We chose the simulator for iPhone 7, included in Xcode 8. The compile and run button is a black rectangle and is located in the bar at the top of the interface.
After compiling the application, launching the simulator and loading our application, its interface will be displayed on the simulator screen: the inscription “Hello, World” and the Switch button. If you press the last one, the inscription will disappear; if you press it again, it will appear again.
We have made a very simple application to understand the essence of iOS development. You can learn more about creating iOS applications in Objective-C in the course “Mobile Developer” by our friends at GeekBrains. The course devotes two months to learning this language. During the first month - introductory topics, and in the second - real coding of professional applications.
Review of services and applications for creating mobile applications for Android and iOS
Using mobile designers, you can develop applications with different functionality. You can choose a universal service or a designer designed for creating applications of a specific type. For example, if you are developing an online store, then the MobiCart builder is suitable for you.
MobiCart service
The MobiCart service is designed for creating e-commerce applications. You can make a program that will replace an online store website for mobile users. You can also create a full-fledged mobile online store if you don’t have a website.
MobiCart supports Russian language. The designer implements payment via PayPal. There is also a cash payment option after receiving the goods. The service is paid, but novice entrepreneurs can use a free plan with limited functionality. The main limitation is that you can add no more than 10 products to your showcase.
After registration, you will be taken to the user's personal account. To create an application, select the Create Application option.
Upload your store logo using the Upload logo function. Select and save the app's design color.
Select the tabs that will appear on the application screen. Also mark the pages you plan to create. Save your settings.
Go to the store settings section. To do this, select the Store Settings section. On the Store tab, specify the name of the store and the administrator's email address. Use the drop-down menu to select your currency. If you want to use the Google Maps app, register an API key and enter it in the appropriate field.
If necessary, activate the free shipping option and check its conditions. In the Cash On Delivery field, indicate the amount of the surcharge when the client chooses cash on delivery. You must specify the decimal fraction. For example, a Cash On Delivery value of 1.07 means that with cash on delivery, the cost of the product increases by 7%.
On the Shipping tab, use the drop-down menu to select your country and region of delivery. Enter the shipping cost for one or more items. Please note that delivery costs for each region will have to be entered manually.
On the Tax tab, select the Prices to include tax checkbox. Unlike international ones, domestic retailers always indicate prices including VAT.
On the Payments Gateway tab, enter the details of the payment systems through which you accept payments. Be sure to enable the cash on delivery option, since MobiCart does not support payment systems popular in the Russian Federation, for example, Yandex.Money.
Set the application language in the Languges section. The designer does not support the Russian language by default, so the text of the messages will have to be entered manually. After adding Russian text, be sure to save the information.
Please note, to change the text of a mobile application, you just need to specify new command values on the Mobile tab. To change the language of emails and administrative sections, select the appropriate tabs and edit the information.
In the App Vital section, specify the name of the application, select the country or countries whose residents will be able to use the program.
On the Images tab, upload images that will be used as icons in app stores and on the user's device.
In the Home Gallery section, add a photo that will be displayed on the main screen of the application. In the Store Builder section, add product information. Choose the appropriate method:
- Add information about product categories and products manually using the form in your personal account.
- Upload product details using a CSV file.
To manually add information about departments and products, use the Departments and Products tabs.
To add a product, select the appropriate tab. Click the Add Product button. On the page that opens, use the editor to add information about the product. Save your changes.
In the More Pages section, edit the information that will be displayed on the application pages.
In the Push Notification section you can create push notifications. Enter the title and text of the message. Select notification delivery options. You can send it to all clients, users within a certain distance from your office, as well as people located in a certain region. Users' locations are determined by ZIP code or zip code. To send a notification, click the Send Notification button.
In the News Tab section, you can connect RSS feeds and Twitter accounts, whose publications will be displayed on the News tab in the application. On the Feeds tab, enter the RSS feed URL and Twitter username in the appropriate fields and save the changes.
On the News tab, you can create notes yourself. To do this, enter the title and text of the message, upload the image and click the Publish News button.
To create an application installation file, return to the Create Application – Submit Apps section. Click Continue. Accept the license agreement and wait while the system creates the application.
If you have chosen a paid plan, after creating the installation file, MobiCart managers will publish your application in the App Store and Google Play. If you choose the free plan, you will have to publish the application yourself. You will receive instructions for registering a developer account on Google Play and publishing the application by email.
Make sure the program is working. Install it on your mobile device and check the content of the pages. Try placing an order.
Check how the news is displayed. To do this, select the News tab.
In your MobiCart personal account in the Manage Content section, you can edit page content, add or remove products, create a news note, or send a push notification to users at any time. Changes are reflected in the application instantly.
Pay attention to the My Dashboard tab. This displays data about orders, product views, stock in stock, and purchased items.
Remember: you can completely Russify the application and the administrative panel in the Create Application – Languages section.
7 free constructors similar to MobiCart
You have created a working mobile application for an online store using the MobiCart online designer. If for some reason the service does not suit you, use similar specialized tools:
- Create My Free App. Using the designer, you can write an application for an online store or cafe for free.
- MobiCommerce. Use this builder if your store runs on CMS Magento or PrestaShop. The cost of use is 699 USD per year. There is a free plan with limited functionality.
- Appy Pie. The builder creates applications compatible with PrestaShop, WooCommerce, Shopify and others. The tool is paid. There is a free tariff plan that involves displaying advertising in the created application.
- iBuildApp. A huge plus of this designer is the Russian-language interface of the office. The cost of use is from 2700 rubles per month.
- Apptuse. The designer creates applications for iOS and Android, compatible with 3Dcart, CS-Cart, Drupal Commerce, Magento, PrestaShop and other popular e-commerce platforms. The applications also integrate with Google Analytics. The service is paid.
- Elite mCommerce. Another constructor with which you can create applications for online stores on PrestaShop and Magento. The tool is paid.
- BusinessApps. A constructor for creating applications of various types for Android and iOS. Paid tool. Within 30 days, you can stop using the designer and get your money back.
Using constructors, you can create different types of applications with different functionality. For example, if you have a thematic information resource, try using the AppsGeyser application.
AppsGeyser application
Why create an application for an information resource if you use adaptive layout or a mobile version of the site? Here are some reasons:
- If a user visited your mobile or mobile site once, this does not mean that he will do it again. If a user has installed the app, they know and value the information you publish. The client is going to receive it regularly using a special program.
- The application is an additional channel for promoting the project.
- A program for smartphones and tablets can become an additional tool for monetizing an information project.
It's enough? Then create an application in AppsGeyser.
You don't have to register to start working. Click the Create Now button on the main page or select the Create App menu in the upper right corner on any page of the service.
Select the appropriate application template. If we are talking about a content project, you may be interested in the following options:
- Manual. This template allows you to create a guide program.
- Blog. The application will help your blog audience read new notes from the screen of a smartphone or tablet.
- Website. The template converts a website into an application.
- Pages. With this template you can convert any content into an application with simple functionality.
- News. The template allows you to create an application that is an aggregator of industry or regional news.
- Page. The template converts offline content, such as an e-book, into the application.
- VK Page and Facebook Page. Create an application that allows you to monitor updates of open groups on VKontakte and Facebook.
- YouTube. Use the template to promote your YouTube channel.
How to Create a Blog App
Use the Blog template. In the appropriate field, enter the URL of your blog or RSS feed. Select a note title color.
Enter the name of the application.
Add a description.
Choose a standard one or add a custom icon. The appropriate image size is 512 by 512 pixels.
To create a download file, click the Create App button. After this, you need to register in the system. Confirm your registration and go to your personal account. Here you can install the application on your mobile device, publish it on Google Play and Amazon App Store. The system also offers a monetization option. If you use this feature, advertisements will be displayed in the application.
Check how the application works on your mobile device. On a tablet, the program should display a list of blog posts in title and announcement format.
After clicking on the Open in browser link, the application opens the selected publication in the browser.
In your AppsGeyser personal account, you can monitor the number of installations, create push notifications, publish the application in stores, monetize the program using advertising, and edit the application.
Want more apps? Then create a guide app using the Manual template.
Creating a guide app using the Manual template
Imagine that you want to create a newsjacking guide as an app.
When creating a mobile application, keep in mind that long texts are difficult to read on a small screen. Therefore, you need to make a short step-by-step instruction.
Open the template and customize the appearance of the application. Choose how to display content: one step per screen or a list of steps.
Use the editor to add text, images, videos or links. To add a photo to the program, upload it to Imgur hosting and paste the link into the appropriate field.
After editing the content, specify the name of the application, add a description and an icon. Click the Create App button. After creating the download file, install it on your mobile device and check its functionality.
Please note that most mobile devices block the installation of applications from unknown sources by default. If a user downloads a program from your site or an app builder site, they will see a security warning when they try to install it. Some clients will probably refuse to install the program.
To resolve this issue, publish your app to the App Store, Google Play, or other popular stores. To publish an application on Google Play, use the step-by-step instructions in your Apps Geyser personal account, which is located on the Publish tab. Google's developer instructions may also help you.
8 constructors similar to AppsGeyser
If the universal AppsGeyser constructor is not suitable for you, pay attention to similar services:
- AppsMakerStore. Using the service, you can create applications of various types: from programs for Ecommerce to solutions for content projects. The designer makes applications for iOS and Android. The service interface is Russified. For beginners, there is an informative guide to using the constructor. The service is paid.
- Mobincube. A tool for creating and monetizing iOS and Android applications. The basic functionality of the service is available for free. The designer allows you to create applications of different types.
- Monomobi. Paid tool for creating universal applications. The designer interface is Russified. There is a free period for using the service.
- Appsbar. Free service for creating applications. You can create programs for Android and iOS with simple functionality.
- Buildfire. A shareware service with which you can create various types of applications. No payment is required to use the designer. But if you want to publish the application in stores, you will have to subscribe to a paid plan.
- AppYet. Free Android app builder. You can publish the created programs on Google Play and monetize with advertising.
- Appery. Paid constructor for creating universal applications. You can evaluate its functionality by taking advantage of a free trial period of access.
- Good Barber. Using this service you can develop Android and iOS applications. The constructor is paid, the cost of use is 16 USD per month.
Most of the services offered have an English-language interface. If you are uncomfortable working with constructors in English, choose platforms with Russian-language content.
Swift language
In 2014, Apple introduced a new programming language - Swift. It quickly became the most talked about and fastest growing language in the world. This is a reliable, secure, intuitive language for developing applications for the macOS, iOS, tvOS and watchOS operating systems for the entire fleet of Apple devices. Swift is an efficient programming language. It's easier to learn than its predecessor, Objective-C, and Swift borrows some of its best ideas. At the same time, the developers have made the languages compatible, that is, one program can contain code in both Swift and Objective-C. There are billions of lines of code and hundreds of thousands of legacy programs written in Objective-C in the world, so its support will definitely not be abandoned.
When developing Swift, the goal was to create the most convenient systems programming language - fast, safe and expressive.
The algorithm in Swift is 2.6 times faster than the same algorithm in Objective-C, and 8.4 times faster than in Python. Using Swift makes the program development process more flexible and convenient.
Due to its exponential development, the Swift language was released to the open source community on December 3, 2020. At the same time, Apple strictly monitors its development, organizing a committee for its development. Swift is now available not only on Apple systems, but also on Linux. All additional tools for working with the language, including a debugger, standard library, package manager, are also free and open.
This language is the future. You can learn more detailed information about it from the mentioned course from GeekBrains “Mobile Developer”, in which a whole month is devoted to learning this programming language.
App Store
Simply put, the App Store is a content store for the entire range of Apple devices. Here you can buy games and applications from both large companies and independent developers. Every developer, no matter what country he lives in, can sell or distribute his programs for free on this digital distribution platform. To start doing this, you need to register as a developer and buy a license to sell your applications. This is a fee for the service provided and the development of the App Store.
Results
We have developed a simple application for the iOS mobile operating system using the Xcode programming system along with the Objective-C language. We tested the finished application on an iPhone 7 simulator. We learned how to build a user interface using Interface Builder, how to associate graphic elements with application code, and how to create event handlers. We got acquainted with the basics of Objective-C. In addition, we drew attention to the promising Swift language, used to develop powerful and secure applications for the Apple ecosystem.
However, the material studied is only the beginning. To intensively upgrade yourself in the direction of mobile coding and development of actually selling applications, we recommend taking the “Mobile Developer” course on the website of our friends GeekBrains.
This is a worthy course: if you take it, you definitely won’t waste your time. It starts with two detailed courses on the Java language, followed by learning basic programming for the Android mobile operating system. Next is a course on databases in general and the SQL language in particular. Then an in-depth course on developing professional Android applications. After this, the vector of study will move towards Apple systems: two detailed courses on the Objective-C language and a useful course on Swift.
Course program
The course lectures are taught by professional teachers with extensive experience in software development. If something is unclear, you can ask a question without delay. In general, learning on GeekBrains is a live process, you can communicate, ask questions, and help with answers. To test the acquired knowledge, teachers give homework, which is then checked. After completing the training, you will have a guaranteed internship in an IT company. And then everything depends on you, if you show yourself as a competent specialist, you will be invited to work.
Creating an application
First, you need to open the development environment in question and create a new project. To do this, you need to go to the “File” section and go to the “Application” item. Next, select “iOS” and go to the empty application “Empty Application”.
You can create an iOS application using various templates that are created for different tasks. To begin with, it is better to use an empty one to understand all the intricacies. You can use them later.
In the new window, enter the product name and your identifier, and you should also specify the class prefix. If you are a novice developer, you should specify “com.example” in the identifier field and “XYZ” in the prefix field. Next, select “iPhone” from the proposed devices and confirm your actions.