Duration
3 days
Overview
The Economist says there will be 20 billion mobile devices by 2020. Roughly 2 million apps are now in iTunes and Google Play. Mobile apps generate additional revenues to every company by encouraging repeat orders from customers on the go. Comparing to the traditional method of marketing mobile apps lowers the marketing cost. This market needs has driven the software industry to focus on mobile apps development. A diverse skill-set is necessary to develop apps for multiple platforms such as Android / iOS.
Xamarin is to develop native mobile applications across Android, iOS and Window devices. This course enables the participants to develop professional user interfaces using C# and Xamarin Libraries. The participants will learn to develop apps using the popular Xamarin.iOS and Xamarin.Android libraries.
Xamarin is a cross-platform development tool. It solves dilemmas many developers face when developing cross-platform apps: separate coding languages and UI paradigms. The participants will be using Xamarin Studio or Visual Studio (Microsoft) as the developer IDEs.
Objective
- Understand Xamarin Forms Development KIT
- Develop Cross-platform Native Apps for iOS and Android using Xamarin Studio
- Create Cross-platform Apps using Shared Code base
- Design the UI for iOS and Android using Xamarin Form
- Write Platform Specific Code
Target Participants
Any developer who wants to develop Mobile applications (Hybrid) with C# skills are the target participants. Developers those who want to develop a rapid mobile application can attend this program.
Program Prerequisites
C# skill with a little bit of programming experience and a brief understanding of Mobile Application Development technologies would be beneficial. The first day of the program will recap these topics.
Mode of Delivery
Every participant will be provided with course notes and are required to bring in their own laptops for hands-on exercise and practice sessions.
Day 1
- C# Review
- Value and Reference Types under the hood
- Classes, Encapsulation and Properties
- SOLID
- Inheritance and Polymorphism
- Interfaces and Decoupling
- Dependency Injection
- Inversion of Control
- Generics
- Delegates
- Anonymous Delegates and Lambdas
- Tasks and async
- Useful Design Patterns
- Labs
- Xamarin Introduction
- What is Xamarin
- Bit of History
- Benefits and Disadvantages of using Xamarin
- Mobile Development Challenges
- Where does it fit in?
- How does it work?
- What you need to get started
- Getting started with Xamarin Studio
- Getting Started with Xamarin.android
- Android Projects
- API Versions
- Resources and Images
- Layouts
- App Architecture
- Creating Activities
- Accessing Views
- Working with Intents
- Launching Activities
- Passing data between activities
- Working with an activities lifecycle
- Labs
- Designing your android UI with Layouts
- Creating the UI with the Designer
- Designing Layouts and working with
- Linear
- Relative
- Table
- Grid layouts
- Working with some of the built in views including
- Date and time picker
- Standard Views
- Spinner
- CardView
- ScrollView
- Labs
Day 2
- Lists, Tabs and Fragments in android
- ListViews and ListAdapters
- Custom ListAdapters
- Built in and Custom Row Layouts
- Working with Fragments
- Using fragments declaratively and programmatically
- The FragmentManager
- Fragment Lifecycle
- State Management
- Tabs and the Action Bar
- Labs
- Additional android Issues
- Activity Lifecycle
- State Management
- Rotation and managing alternate layouts
- Drawables and resolution
- Labs
- Cross Platform Code Sharing
- Why Code Share
- Code sharing Options
- Shared Projects
- Portable Class Libraries
- Ramping up code reuse across platforms
- Cross Platform Data Access
- Abstracting device specificity
- Dependency Injection
- Inversion of Control Containers
- MVVM Pattern
- MVVM Light
- MVVM Cross
- Labs
- Getting Started With iOS Development in Xamarin
- iOS Development in Xamarin
- Solutions, Projects and Files
- Intro to Storyboards, Scenes and Segues
- MVC and View Controllers
- Linking Scenes to View Controllers
- Working with Multiple View Controllers
- Modal Display
- Navigation Controllers
- Transferring Data between Scenes
- Loading Storyboards from Code
- Labs
Day 3
- Designing an iOS Layout
- Xamarin iOS Designer Intro
- Designing a View
- Using Auto Layout
- Working with Constraints
- Understanding and Exploiting Size Classes
- iOS UI Controls
- Unwind Segues
- Labs
- Working with Table Views
- Table Views
- Types of Table View
- Building a Table View
- Static Table Views
- Dynamic Table Views
- Table View Controllers
- Table View Cells
- Headers and Footers
- Editing Cells
- Collection Views
- Labs
- Controlling iOS Navigation and Storage
- Manual Storyboards
- Navigation Controllers
- Tab Bar Controllers
- Modal View Controllers
- Split View Controllers
- Settings and plists
- Working with files
- User Defaults Database
- Labs
- App Deployment for android and iOS
- Preparing and app for deployment
- Configuration
- Building
- Deploying to the app store
- Xamarin.Forms
- What are Xamarin Forms
- Getting started with…
- How it works
- Basic elements
- Pages & Layouts
- Sizing and Positioning
- Views
- Hooking up to Code
- Alerts
- Navigation
- Forms, ListViews and Data Binding with Xamarin.Forms
- Data Binding Overview
- Page Binding
- Change Notification
- Field Binding
- Field to Field Binding
- Displaying Lists with the ListView
- Making life easier with Resources and Styles
- Labs
Programme scope, delivery arrangements and suitability are confirmed during enquiry.