The advanced class is used to cover concepts that exist in other development languages and how to do them in Objective-C and the mobile devices, as well as further interact with native capabilities of the device. To ensure business logic processing does not cause sluggish or non-responding UI, asynchronous designs can be used to allow background calculation of data. Most iOS devices also provide a camera for visual input / recording; the course will cover utilizing the camera to capture image or video and how to consume these media files in an application.
With wider availability of internet connection, either through Wi-Fi or 3G cellular connection, more people are connected than ever before. Most applications can utilize these connections to get / store data and maybe provide connectivity and UI to existing portals that are available on the internet. Such a connected application may need to be able to consume web services, show a website content within the confines of the developed application and maybe show a map with specific locations tagged along with current user location.
- Go through Grand Central Dispatch and asynchronous designs
- Providing contrast with threading and cover various situations on which path to choose
- Utilize the camera on iOS devices to capture images and video and how to show these media within the application
- Use UIWebView control to display websites and how to provide navigation
- Evaluate web service concepts and options available to produce web service and its output along with options to consume web services
- Consume Web Services within the mobile application
- Use MKMapView control to show Google Maps; contrast current user location within the map with the CLLocationManager class usage
Other advanced topics
There are various other topics that can be further explored related to iOS application development; the above classes can have their subjects tailored to satisfy the client’s need and preference. As in any typical software development class, a subject is only important if it needs to be used by the application being developed; however having proper knowledge on most things and more importantly how to find / learn new subjects is crucial to the success of developing any type of application.
These following listed subjects are not specifically listed above but may be substituted and / or covered in lighter detail within the classes:
- Handling touch, multiple touches, keeping track of touches and handling gestures recognized by the system or by a custom handler
- Creation of UI custom controls to be reused within an application or other application in the development ecosystem, along with custom drawing routines using Quartz
- OpenGL ES development; this is crucial for 3D graphics-intensive applications and would be recommended to be a custom class by itself to cover OpenGL basics
- Control animation; providing a well-behaved UI is great, but sometimes a little extra ‘flash’ may be desirable to raise the application to the next level – block development will be covered as well as prior begin / commit animation methods.
- Instrumentation in Xcode; this is not strictly a development subject, but is helpful to optimize code and check for memory leaks in applications
- Exploring GameKit; the name does not strictly imply it is for development of games, rather it is for development of great social games. It allows tapping into Game Center which is a centralized network service along with voice chat services and using Bluetooth to do peer-to-peer connectivity.
- Background tasks; it is not for doing more than a single action at a time, but rather to create an application that can continue to be active while another application is running.
- In-depth Objective-C; the language used to develop for iOS devices is not commonly available outside of the Apple platforms – some developers that would like to learn further may need a ‘pure’ language class. This can be advantageous since it can be used to develop Mac applications as well.
It’s easy to enroll. Just give us a call and let us know which course you’d like to take. We’ll take down your information and provide you with more details about the class and costs.