Reactive Programming for iOS with RxSwift Training Course

Duration

7 hours (usually 1 day including breaks)

Requirements

  • An understanding of Swift 3 code.
  • Experience with with iOS application development.

Audience

  • Experienced Swift and iOS app developers who are seeking to learn reactive programing in Swift with RxSwift
  • Developers experienced with one of Rx’s various other platform ports who are interested in learning reactive extensions for Swift

Overview

Reactive Extensions (or Rx) is a multi-platform suite of libraries designed for developing asynchronous and event-based applications using observable sequences and LINQ-style query operators. RxSwift is a functional library intended to ease the difficulty associated with Swift asynchronous and concurrent coding for iOS apps.

This instructor-led, live training introduces participants to reactive techniques offered by RxSwift for managing the transferring and combining of asynchronous data streams, handling simple observable sequences, and the architecture and development of responsive, flexible, and industry scalable iOS applications.

By the end of this training, participants will be able to:

  • Understand the basic concepts behind reactive programing in Swift 3.
  • Turn various items such as arrays and events into observable sequences.
  • Apply various filters to observable sequences, transform and combine observable sequences.
  • Write Unit tests against Rx Code.
  • Effectively utilize blind data from user interface elements.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

To request a customized course outline for this training, please contact us.

iOS (iPhone and iPad Development) in Swift for iOS 11 and Xcode 9 – Swift 4 Training Course

Duration

35 hours (usually 5 days including breaks)

Requirements

You must have at least one programming language experience in the past.

Overview

This 5 day course is for developers who want to learn how to develop applications for iPhone and iPad running iOS 11. Xcode 9, Swift 4 and iOS 11 introduced significant changes in the way applications are written.

The course is hands on and shows how to develop applications from scratch using the Swift programming language and the Xcode 9 IDE.

During the course a fully functional application will be developed from scratch using Swift.

This course can only be run on Intel based Apple hardware such as a MacBook or a Mac Mini. Delegates need to have registered with Apple and have an Apple ID which is required to download software. Delegates wishing to run the applications developed during the course on an iPhone or iPad using a USB cable will need to register their device with Xcode.

Course Outline

Day 1:

  1. OOPS concepts
  2. What is software
  3. Organized v/s un-organized rooms
  4. Why Software
  5. Why iOS
  6. Apple History
  7. iOS History
  8. Apple’s USP
  9. What Apple is famous for
  10. UX v/s UI
  11. IDE?
  12. XCode
  13. XCode installation
  14. Why Objective C and now why Swift?
  15. Wow Factors in Swift 
  16. Swift Basics
  17. Variables
  18. Constants
  19. Hello World in Swift
  20. Label making via code
  21. ImageView
  22. ImageView animations
  23. NSTimer
  24. Responder Chain – touchBegan, touchMoved, etc methods
  25. UiApplication main delegate
  26. Application Life Cycle
  27. View Life Cycle
  28. Any
  29. Optionals
  30. internal, public, private
  31. init
  32. deinit
  33. Playground

Application to Do: Dots Game: https://apps.apple.com/app/the-dots-free/id850315430

Day 2:

  1. UIView animations
  2. Extenstion
  3. UITable View
  4. Custom Cell in Table View
  5. Delegate and Data Source Methods in Delegates
  6. Header, Footer, Height, etc of Table View
  7. Brief of Collection View
  8. Deque in table view
  9. Mark
  10. Optionals
  11. didSet
  12. willSet
  13. Guard
  14. 2x and 3x concepts
  15. Navigate from one view to other
  16. UINavigation Controller
  17. Present a Controller
  18. StoryBoards
  19. Xibs
  20. Constraints
  21. Size classes
  22. Protocols – Required and optional
  23. Memory management

Application to Do: Notes app : Adding, deleting and updating note

Days 3:

  1. Gestures
  2. Closure
  3. Groups and folders
  4. Gesture recognizers
  5. XML Parsing
  6. NSJSon Serialization
  7. Converting Data to Json
  8. File Manager
  9. Tuples
  10. Enum
  11. For-in
  12. While
  13. Webservices
  14. URL Session
  15. URLRequest
  16. Why eco system of apple is best
  17. Printable – description
  18. Hashable
  19. UIAlertView
  20. UIActivityIndicatorView

Application to Do: Getting data from server from an open API app and make a table view and populate data and show its details also.

Days 4:

  1. Lazy loading of images
  2. Lazy properties
  3. NSOperationQueue
  4. GCD
  5. Directory concept and security of apps NSSearchDomain
  6. Tab Bar controller
  7. Localization
  8. Key Chain
  9. User Defaults
  10. PLists
  11. FileManager
  12. SQlite
  13. Extensiosn
  14. Social media integration: Make own sharable content
  15. UITextField
  16. UITextView
  17. UISegementControl
  18. UISlider
  19. UiSwtich
  20. UIProgessBar
  21. UIPageControl
  22. UIStepper
  23. UIScrollView
  24. UIPicker
  25. UIActionSheet
  26. UIWebView
  27. SearchBar
  28. New target : Apple Watch, Extensions, Keyboard, Today, etc
  29. NSNotifications in IOS
  30. Adding third party libraries
  31. Core Data
  32. Deployment and distribution
  33. Running app on real devices

Application to Do: Getting data from server from an open API app and make a table view and populate data and show its details also and show Search bar and search for something and Core

Days 5:

  1. Push Notification – Silent and Push
  2. Localization
  3. Overview of Objective C
  4. Properties
  5. Categories
  6. Functions syntax
  7. .h and .m file
  8. Property attributes readWrite and readOnly
  9. Property attributes strong, weak and copy
  10. Property attributes atomic and non-atomic
  11. Uploading app to app store

Application of your own idea

Kotlin for iOS and Android Development Training Course

Kotlin Training Courses

Duration

35 hours (usually 5 days including breaks)

Requirements

  • Experience in Java programming
  • Basic experience or familiarity with Android development
  • Experience with Swift programming

Overview

Kotlin is a modern, functional and object-oriented programming language based on Java.

In this instructor-led, live training, participants will learn Kotlin programming as they step through the creation of an Android and iOS app using Kotlin.

By the end of this training, participants will be able to:

  • Understand the fundamentals of programming in Kotlin
  • Code their own Kotlin application
  • Build, test, deploy, and troubleshoot Android and iOS apps using Kotlin

Audience

  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Note

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Setting Up the Tools for Kotlin

  • Using the Command Line Tools
  • Installing the JDK for Kotlin
  • Installing and Setting Up the IDE: IntelliJ
  • Installing the Plugins

Getting Started with Kotlin and the Kotlin Syntax

  • Learning the Kotlin Architecture
  • Learning the Kotlin Syntax
  • Using Key Features of Kotlin

Object-Oriented Programming with Kotlin

  • Overview of Programming with Objects
  • Creating a Class
  • Adding Methods to Classes
  • Defining Basic Constructors
  • Using Named Parameters and Default Values
  • Using Open Classes to Allow Inheritance
  • Using Abstract Classes
  • Creating and Using Interfaces
  • Handling Overriding
  • Creating Data Classes
  • Using Singletons and Companion Objects
  • Using Enumerations
  • Grouping Classes into Packages
  • Using Imports
  • Implementing Information Hiding
  • Using Getters and Setters
  • Implementing Visibility Modifiers
  • Understanding Generics
  • Implementing a Generic Stack
  • Using Generic Functions

Android App Development Using Kotlin

  • Setting Up the Tools for Android Development
    • Installing Android Studio
    • Starting a New Project
    • Setting Up the Emulator
    • Setting Up the Library
  • Setting Up Kotlin in Android
  • Working with the Hello Android Framework and Android SDK Tools
  • Developing an Android App Using Kotlin
    • Using ListActivity and ListView
    • Using Intents and Intent Filters
    • Working with Custom Views
    • Using Layout Managers
    • Handling Web Services and API’s
    • Dealing with Android Services
    • Working with SQLite Database
    • Using Content Providers
    • Writing Adapters
    • Implementing Dialogs and Alerts (Toasts)
    • Designing Your UI
      • Options and Context Menus
      • WebView
    • Implementing Android Notifications
  • Building a Customized Responsive Android App Using Kotlin
  • Publishing Your Android Application to Google PlayStore

iOS App Development Using Kotlin

  • Overview of XCode 9 Features and Architecture
  • Overview of Swift 4 Features and Architecture
  • Comparing Similarities and Differences of Kotlin and Swift
    • Basics
    • Arrays
    • Dictionaries
  • Working with Web Services
  • Performing Data Management
  • Working with Variables, Constants, and Swift Data Types
  • Optimizing the iOS User Experience through UX and UI Design
  • Adding User Interaction for Improved User Experience
  • Optimizing Performance
  • Debugging an iOS App
  • Building a Customized Responsive iOS App Using Kotlin
  • Publishing Your iOS Application to the Apple AppStore

Troubleshooting

Summary and Conclusion

TensorFlow Lite for iOS Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Experience with Swift programming
  • Experience with mobile application development
  • An iOS device running v12 or higher

Audience

  • Developers
  • Data scientists who wish to develop AI-enabled mobile applications on iOS

Overview

TensorFlow Lite is an open source deep learning framework for mobile devices and embedded systems.

This instructor-led, live training (online or onsite) is aimed at developers who wish to use TensorFlow Lite to develop iOS mobile applications with deep learning capabilities.

By the end of this training, participants will be able to:

  • Install and configure TensorFlow Lite.
  • Understand the principles behind TensorFlow and machine learning on mobile devices.
  • Load TensorFlow Models onto an iOS device.
  • Run an iOS application capable of detecting and classifying an object captured through the device’s camera.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

  • Tensorflow vs Tensorflow Lite

Overview of TensorFlow Lite Features and Workflow

  • Recap of machine learning and deep learning concepts
  • How on-device low-latency inference is achieved
  • End-to-end model building and deployment

Preparing the Development Environment

  • Starting a Swift project
  • Adding TensorFlow to the project

Capturing an Image with a Device Camera

  • How camera input is captured
  • Overview of classes and methods
  • Running inference on a frame (performing image classification)

Creating an App for Object Detection

  • Selecting a TensorFlow Model
  • Converting the TensorFlow Model
  • Loading the TensorFlow Model onto a Mobile Device
  • Loading a Pre-trained TensorFlow Model

Creating an App for Image Classification

  • Selecting a TensorFlow Model
  • Converting the TensorFlow Model
  • Loading the TensorFlow Model onto a Mobile Device
  • Loading a Pre-trained TensorFlow Model

Customizing the Model and Data

  • Pre-processing a dataset
  • Setting the hyperparameters

Optimizing the TensorFlow Model

  • Measuring performance against a benchmark
  • Measuring accuracy
  • Retraining a TensorFlow model

Exploring Alternative Models

  • Choosing a different model
  • Training a model to recognize new classes (transfer learning)
  • Obtaining training images for new labels

Deploying the AI Enabled iOS App

  • Performing image classification in the field

Troubleshooting

Summary and Conclusion

Machine Learning on iOS Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • Experience programming in Swift

Overview

In this instructor-led, live training, participants will learn how to use the iOS Machine Learning (ML) technology stack as they step through the creation and deployment of an iOS mobile app.

By the end of this training, participants will be able to:

  • Create a mobile app capable of image processing, text analysis and speech recognition
  • Access pre-trained ML models for integration into iOS apps
  • Create a custom ML model
  • Add Siri Voice support to iOS apps
  • Understand and use frameworks such as coreML, Vision, CoreGraphics, and GamePlayKit
  • Use languages and tools such as Python, Keras, Caffee, Tensorflow, sci-kit learn, libsvm, Anaconda, and Spyder

Audience

  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

To request a customized course outline for this training, please contact us.

Introduction to Mobile Application Testing

Master the skills for testing mobile apps and become a professional mobile app tester with this free online course.

Mobile application testing is a process in which software applications developed for mobile devices are tested for their functionality. With this fast-growing technology, there is a high demand for testers. This free online course covers everything you need to know about mobile application testing and how to effectively test a beta build before releasing an app. You will also work on some real-life projects to enhance your learning.

In This Free Course, You Will Learn How To

  • Differentiate between real devices, emulators, and simulators
  • Explain how to write a resume as a mobile application tester
  • Identify the best strategy to test all mobile applications
  • Discuss the challenges faced by mobile application testers
  • Describe how to write bug’s reports for mobile applications
  • Identify the best beta test tool to use as a mobile app tester
  • List the different types of mobile applications

Course Modules

MODULE 01 

Guide to Mobile Application Testing

In this module, you will be introduced to mobile application testing. You will learn why mobile application testing is important. You will also study some common terminologies used in mobile application testing, as well as the differences between real devices, emulators, and simulators. Also, you will be taught some mobile-specific testing.

Guide to Mobile Application Testing – Learning Outcomes

Introduction

Test Cases Attributes: Software Testing Basic

Bug’s Attributes: Software Testing Basic

Mobile Specific Testing

Beta Tools, Resume Preparating and Chanages in Mobile App Testing

Guide to Mobile Application Testing – Lesson Summary

MODULE 02

Course assessment

Introduction to Mobile Application Testing – Course Assessment

Course Description

Mobile application testing entails testing software applications developed for mobile devices for their functionality, durability, and consistency. This free online course begins with a brief introduction to the practice of mobile application testing. You will learn about the importance of mobile app development and testing the application after development. We will show you mobile app consumer spending statistics and a projection of mobile applications’ revenue through paid downloads and in-app advertisements globally. Furthermore, we’ll guide you through the types of mobile app testing and how the testing is done. We will also cover five key points to note while testing mobile applications. Moreover, you will explore some of the terminologies used in mobile application development. These keywords or terminologies are only used in mobile application development and testing. Knowing and understanding them will help you in any interview to become a mobile application tester.

Next, you will study real mobile devices, emulators, and simulators. We will explain the characteristics, similarities, and differences between these devices regarding Android and iOS. Then, we will explore the different types of mobile applications available. We’ll highlight native, hybrid, and web applications, as well as some strategies to test all your mobile applications. These strategies are based on the course instructor’s own experience with mobile application testing. We will show you how to test apps on the oldest and latest versions of supported devices and how to follow App Store guidelines so that your apps are not rejected during the review process. Also, you will be trained to effectively write test cases and bug reports for your mobile apps. We will explain the attributes necessary for writing these reports and how to write them on real-life devices.

Furthermore, we’ll study types of interrupts testing, scenarios of interrupts testing, and few examples of interruptions in mobile devices. Then, you will study network testing, why it is important on slow networks like 2G, and other aspects of network testing. Also, the instructor will talk about installation testing and how to perform installation testing on different operating systems and devices. Additionally, the instructor will discuss push notifications and how to test mobile push notifications. We will also address the benefits of using push notifications. We will highlight the various app distribution tools needed to distribute test build apps to testers and other stakeholders. Some challenges testers face when testing an application will be analyzed. Towards the end of the course, We will also train you to prepare a resume for a job as a mobile app tester. This course is beneficial if you have little or no knowledge of mobile application testing and are starting from scratch. Enrol today.