According to a recent press release, 3 billion applications have been downloaded since the first iPAD launched in 2010. Apple has paid developers over $ 2billion since the birth of the App store for app downloads and app purchases. With over 33 million Apple iPhones in circulation and over 700,000 applications, iPhone iOS has become one of the most important software development platforms.
The average salary of an iPhone developer in a city like New York is $ 120,000 and there is tremendous demand for skilled iOS developers. In the US, mobile developer starting salaries are projected to increase to 10% next year to a range of $ 90,000 to $ 130,000.
iOS is the operating system of iPhone, iPad, and iPod touch. It is written in Objective-C. The iOS software is developed with the Xcode integrated development environment (IDE). iOS (as well as OS X) is a product of Apple, as is Xcode. In case you are new to programming and all these terms seem alien, dont worry, the training will make these terms easy and in no time, you will be throwing these terms across fluently and effortlessly.
iOS Mobile Development Training Jakarta
Duration: 6 days 9:00 am-5:00 pm
Starting with the basics, this course covers everything you will
need to know to build amazing applications for the iPhone or iPad.
In the course, you will gain a solid foundation of programming,
tools, best practices, libraries and concepts related to iOS
Our 6 days iOS training in Jakarta is an intensive hands-on training program designed for beginners. The training program will equip developers with all the skills needed to develop applications on iPhone/ iPad platforms.
Over 70% of the duration of the course will be seeing hands-on practical coding. Part lecture-part hack-a-thon augmented by endless coffees, pizzas, red-bulls or whatever you need to get the job done. You will be working towards completing a full suite project covering the entire lifecycle of story boarding to deployment. All of our iPhone trainers are also software developers.
Who should attend the training?
While some previous programming experience is beneficial, it is not
a requirement. The program has been designed to cater to meet the
needs of those with no significant programming experience. We have
had lawyers, accountants, doctors as part of the class profile in
the past who have successfully completed their in-class projects.
Since knowledge of or at least passing knowledge of a C-derived language is needed, a crash course in C is including at the beginning of the program.
The course will guide you through developing your first application for the iOS from opening Xcode for the first time to submitting your application to the App Store. You will learn about Objective-C and the core frameworks needed to develop for the iOS by writing applications that use them, giving you a basic framework for building your own applications independently.
High Level Course Outline
- C Programming crash course
- Essential C concepts
- Native Applications
- Difference between Native applications and web applications
- Setting up your development environment
- Installing Xcode and the iOS SDK
- Generating the developer certificates
- Registering as an iOS developer
- Your own first iOS App
- Hello world application
- Deploying your application
- Running your application
- Coding in Objective- C
- Basics of Objective-C
- Cocoa touch frameworks
- Table-view based applications
- Common classes used when building applications
- Deep dive into table view classes
- View Controllers
- Single-screen tabbed views
- Modal view controllers
- view controller for selecting video and image
- simple two-screen views
- Connecting to the Network and handling data
- Handling data input
- Parsing XML
- Parsing JSON
- Storing data with SQLite
- Using Sensors
- Core Location and MapKit Frameworks
- Integrating iCloud service into your applications
- iOS's software eco system Integration
- Presenting user preferences with Settings bundles
- Using custom URL schemes to launch application
- Using Media Player and Address Book
- Launching your Application
- Ad-hoc distribution
- App store distribution
- Final Demo
In addition to the above some of the generic concepts covered include:
- Memory Management
- Story Boarding
- Core Data
This training can be perceived as the first step as an app developer. By the end of this training, you will know your way around Xcode, its GUI building tools, and enough of Objective-C and object-oriented development to build an app.
What you will need?
- You will need a Mac laptop with Xcode on it (The training covers how to install Xcode)
- Mac laptop with OS X installed (at least version 10.7.4)
- Developer license on the apple site (Covered on day 1)
Target Audience :
- Anyone with a passion for learning
- 9:30 am - Lecture and demonstration by lecturer
- 10:30 - 12:00 - Hands-on practice. You are expected to struggle at this stage to get something working. Check the web, ask your neighbor, do whatever it takes. After about 10 minutes of struggling and not finding an answer, get the instructor to help you.
- 12:00 - Lunch, networking
- 13:00 - Lecture and demonstration by lecturer
- 13:30 - Hands-on practice.
- 14:30 - 16:30 - Project Work. You will work on completing your project. Your project will require you to use the knowledge you learnt and integrate multiple concepts. You will have full support from your instructor during this time.
- 16:30 - Presentation of your work to the class and discussion of challenges.
- 17:30 - 20:30 Remote Support. You will have access to our developers remotely through Skype to guide you through any doubts or clarifications.
The only ground rule we have during the class is "Be Humble and Willing to Learn". The course may feel overwhelming for some but this is natural and expected. In case you find the concepts easy and are ahead of the schedule, we expect you to help your fellow students.
1. Introduction to Mobile Application Development
This module covers the basics of the mobile application development world. It explores the different technologies available and the commonalities/ similarities between the platforms. Any web or mobile based technology can be grouped into front-end, back-end and middle layer. The module talks about available technologies within each layer. The module also covers the differences in building for native application versus building for cross platforms.
2. iOS SDK
This module is focused on introducing you to the iOS development environment. This is where we get you started on configuring your macbook to the correct development environment. You will learn how to get the Xcode tool set installed (It is easy) and get used to the work space. You will build your first simple application and get it running on a simulator.
3. C, Objective-C and Swift fast-track
In this module we cover the foundational knowledge of C programming followed by object oriented programming and then Swift. We cover those essential concepts that are needed to create simple applications. C programming and Objective-C in depth could take more than 2 or 3 years to master and mastery is not required for what you will be building in the near-term.
4. Creating Storyboards
The applications you will be building require multiple screens. Each will something different for example, buttons, images, navigation, content etc. Storyboards will help you layout the different screens and visualize the flow of control. In this module, you will learn how to transition from one screen to another and also how to pass data from one scenario to another.
You are familiar with how the content can change display based on horizontal or portrait. In addition, devices also vary display sizes. In this module, you will be introduced to Auto-layout which is an engine that lets you describe the relationships between the different display sizes. By the end of this module, you will be able to create applications that will adapt to different resolutions and device sizes.
You know that users can choose local settings on their device to reflect the local language or some other preferences. When you create mobile applications, you need to cater to the fact that users may want to localize their devices. Participants will learn how to set languages and display formats for the device.
7. Hierarchies and Tabs
This module is focused on setting the optimal navigation structure for your users. Starting from determining the first screen you will learn how to set the correct flow to move to subsequent screens. You will be learning about controllers for managing navigation through content. You will also be learning about tab bar controller. An example of this is the clock application on your iPhone or iPad.
8. Table Views
Because space is a constraint on mobile devices, you will be working with tables to show content. Tables typically give the user a quick access to a list of objects. You will work on a project to build a table view and follow through on steps to add objects to the tables. You will also gain knowledge on deleting objects in a table.
9. Dealing with Data and Content
Ever wondered how an application remembers information even when you close or quit the application and re-launch it. There are many ways how data is stored by the system. In this module, you will learn about storing data, creating your own SQLite database. You will learn what SQL is, how to write a query and how to write routines to manipulate the data in the database.
10. Touch basics
Gestures are the most common way that users interact with their mobile devices. You will learn about the different interface elements that iOS provides so you can choose the correct built-in gestures. Gestures let you trigger application behavior using swipes, drags, taps etc.
Your application is likely to contain a lot of code in a lot of classes. There are many dependencies and interfaces that need to work together to provide a seamless experience to the user. Testing and debugging play an important role in ensuring that your application works the way it is supposed to. In this module, you will learn the best practices of debugging.
12. Deploying Applications
This module focuses on getting your application on to the App-Store for review. The module covers all the steps needed to complete this transition including knowledge about certificates, profiles, icons, launch images and app IDs.