+40 256 706 057 [email protected]
Developing Scalable and Rich Desktop Applications Using Windows Presentation Foundation

Developing Scalable and Rich Desktop Applications Using Windows Presentation Foundation

Developing Scalable and Rich Desktop Applications Using Windows Presentation Foundation

Hands-on practice with thorough explanations, presentations, demos, small standalone exercises during the training.
A 2-3 days seminar for middle .NET developers

View Agenda

This training is for

.NET programmers who want to develop scalable and maintainable desktop applications using Windows Presentation Foundation

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

Agenda

Day 1

1. Introducing W.P.F.

Establishing common ground for the rest of the agenda

What is it. What problems is it supposed to solve

How does it work

M.V.V.M. concept explained

Introduction to XAML

2. Layout and controls

Learn the layout basics

See the grid layout panel in action

Stack elements with the stackpanel

Get an overview about the variety of included controls

Have a look at 3rd-party libraries

Day 2

3. Databinding and the UI architecture

Introduction to WPF DataBinding

How to display, sort and filter data

Using the Model-View-ViewModel Pattern

Learn how to validate user input

Create your own ValueConverter

Enhance the MVVM pattern by using Behaviors and Actions

4. Templates and styles

Learn how to build rich user experience with WPF

Style the appearance of your controls

Completely replace the look of a control

How to display complex data in lists by using DataTemplates

Day 3

5. Touch manipulation using W.P.F.

Touch events

Multi-touch manipulation

Surface Toolkit for Windows Touch

6. Tackling metro design challenges (for Win RT)

Group and split layouts

Effects

REQUIREMENTS

Infrastructure: Windows 8, Visual Studio 2012, Surface SDK installed.

Programming with Microsoft .NET Framework knowledge needed.

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

Developing Scalable and Rich Desktop Applications Using Windows Presentation Foundation

What is New in ASP.NET 5 and Visual Studio 2015

What is New in ASP.NET 5 and Visual Studio 2015

Hands-on training with thorough explanations, presentations, demos, small standalone exercises during the training.
A 4 days seminar for .NET developers

View Agenda

This training is for

middle .NET developers

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

Agenda

1. The new Microsoft vision

The Cloud OS vision: Azure, Azure Pack, System Center suite

.NET Core open source and cross platform

2. New (ASP.NET) runtime (cross-platform and flexible)

Full .NET CLR

Core .NET CLR (cloud-optimized solutions)

Cross platform CLR

Different versions of .NET side by side

3. Host anywhere

IIS, outside of IIS

OWIN, Katana

4. New features in ASP.NET 5

Simplify dependency management

Eliminate duplication in MVC, Web API, Web Pages

Improve HTTP performance

Dependency injection

Updates in Web Forms

5. What’s new in Visual Studio 2015

.NET Framework 4.6, EF 7
VS templates for ASP.NET projects

New C# language features

Updates in Code Editors; CodeLens; CodeMaps, dependency graphs, diagrams

Application Insights for performance improvements

Release management for better deployment experiences

TypeScript

VS Shared projects. E.g.: Windows Store 8.1 / Windows Phone 8.1

Improvements in debugging and diagnostics

VS emulator for Android, tools for Cordova

Meet the Trainer

Mihai Tataran

Mihai TATARAN, Microsoft Azure MVP, is the General Manager of Avaelgo, and a Microsoft MVP on Microsoft Azure, Microsoft Azure Insider, and Microsoft Certified Professional. Mihai has been teaching Microsoft technologies courses to software companies in Romania and abroad, being invited by Microsoft Romania to deliver many such trainings for their customers. Mihai has very good experience with large audiences at international conferences: DevReach in Bulgaria, Codecamp Macedonia; TechEd North America 2011, 2012 and 2013 – speaker and Technical Learning Center (Ask the Experts), Windows AzureConf. He is also the co-organizer for the ITCamp conference in Romania.

PREREQUISITES

For the best experience we can offer, we will need details about each trainee:

  1. Programming experience (number of years, known technologies)
  2. Role in the team
  3. Own evaluation of .NET skills on a scale from 1 to 5
  4. Software development methodology in current projects (if applicable)

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

iOS Development

iOS Development

iOS Development

Hands-on practice with thorough explanations, presentations, demos, small standalone exercises during the training.
A 3 days seminar for Developers

View Agenda

This training is for

Developers

This training is for

The course will offer a basic introduction to development on iOS using UIKit. The aim of the course is to have attendees learn and understand how to build a basic app that touches most the features a developer will use every day.

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

Agenda

Day 1

We’ll start by introducing the trainees to the iOS Developer Ecosystem, the Objective C language, Patterns Used and writing simple samples and hello-world-type applications to accommodate with the new concepts.

We’ll start building a simple todo app with basic features (main todo list) and local storage of data.

Day 2

The day will be dedicated in improving the todo list app:

Adding multiple lists

Adding pictures to tasks

Task search

Animations

Multiple task list views

Day 3

We will continue on this day by making our app universal: we will adapt everything and write new screens to fit the larger screen of the iPad.

Also we will create a feature where the user can synchronize his tasks with a simple online file hosting service, thus learning about writing networking code on iOS.

1. iOS Ecosystem Concepts

Language history and paradigms

Memory management

Classes, Protocols, Properties, Methods, Categories

Blocks

Building a simple To Do list app

2. UIKit concepts

Storyboards

AutoLayout

ViewControllers: how they work, what they provide, how to use them

Important UIKit ViewControllers: UINavigationViewController,UITabBarController, UISplitViewController, UIPopoverController

Views: how they work, how they compose, how they do layout, how to do manual layout

Important UIKit Views: UIButton, UILabel, UITableView, UICollectionView, UIAlertView

UIGestureRecognizers

iOS App Lifecycle

Handling Local and Remote Push Notifications

Core Animation Basics

3. Foundation Framework Concepts

NSObject, NSString, NSArray, NSDictionary, NSSet

NSDate, NSCalendar, NSFormatter, NSNumber

NSCoder, NSFileManager

NSNotificationCenter

NSPredicate, NSSortDescriptor

NSURL, NSURLConnection, NSURLSesssion, NSURLDownload

4. Design Patterns

Singleton

Delegate

Messenger

Key Value Coding

Target-Action

REQUIREMENTS

The trainees need a computer with the latest version of Mac OS X installed, the latest version of XCode installed. An Internet connection is also required. It would be nice for the attendees to have an iOS Device with iOS 8 but we can manage using the iOS Simulator too.

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

iOS Development

Android Development

Android Development

Hands-on practice with thorough explanations, presentations, demos, small standalone exercises during the training.
A 3-4 days seminar for Android developers

What you’ll learn

This training is for

Developers

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

What you’ll learn

1. Android Architecture

Overview of Android Stack

Android Features

Introduction to OS layers

2. Deep Overview in Android Stack

Linux Kernel

Libraries

Android Runtime

Application Framework

Dalvik VM

3. Installing Android Machine

Configuring Android Stack

Creating Eclipse Environment

Integrating Android with Eclipse IDE

Exploring Eclipse IDE

4. Creating First Android Application

Creating Android Project

Debugging Application through DDMS

Setting up environment

AVD Creation

Executing Project on Android Screen

5. Android Components

Activities

Services

Broadcast Receivers

Content Providers

6. Hello World App

Creating your first project

The manifest file

Layout resource

Application Framework

Running your app on Emulator/ Simulator/ Device

7. Building UI with Activities

Activities

Views, layouts and Common UI components

Creating UI through code and XML

Activity lifecycle

Intents

Communicating data among Activities

8. Advanced UI

Selection components (GridView, ListView, Spinner, Checkbox)

Fragments

Adapters, Custom Adapters

Menus

Create your own sliding menu

9. Notifications

Toast, Crouton

Dialogs

Status bar Notifications

10. Multithreading

Using Java Mutithreading classes

AsyncTask

Handler

Post

11. Styles And Themes

Creating and Applying simple Style

Inheriting built-in Style and User defined style

Using Styles as themes

12. Resources and Assets

Android Resource

Using resources in XML and code

Localization

Handling Runtime configuration changes

13. Intent, Intent Filters and Broadcast Receivers

Role of filters

Intent-matching rules

Filters in your manifest

Creating Broadcast receiver

14. Data Storage

Shared Preferences

Android File System

Internal storage

External storage

SQLite

  1. Introducing SQLite
  2. SQLiteOpenHelper and creating a database
  3. Opening and closing dadatabase
  4. Working with cursors Inserts, updates, and deletes VI. Network

15. Services

Overview of services in Android

Implementing a Service

Service lifecycle

Inter Process Communication (AIDL Services)

16. Multimedia in Android

Multimedia Supported audio formats

Simple media playback

Supported video formats

Simple video playback

17. Web Services and WebView

Consuming web services

Receiving HTTP Response

Parsing JSON

Using WebView

18. WiFi

Monitoring and managing Internet connectivity

Managing active connections

Managing WiFi networks

19. Camera

Taking pictures

Media Recorder

Rendering previews

20. Location Based Services and Google Maps

Using Location Based Services

Finding current location and listening for changes in location

Proximity alerts

Working with Google Maps

Showing google map in an Activity

Map Overlays

Itemized overlays

Geocoder

Displaying route on map

21. Bluetooth

Controlling local Bluetooth device

Discovering and bonding with Bluetooth devices

Managing Bluetooth connections

Communicating with Bluetooth

22. Useful third party components to know

Universal Image Loader

Crouton

GraphView

Rate this app

ShowCase

47degreesSwipeListView

23. Exporting your application

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

Developing Scalable and Rich Desktop Applications Using Windows Presentation Foundation

Java Performance

Java Performance

Hands-on practice with thorough explanations, presentations, demos, small standalone exercises during the training.
A 3 days seminar for middle .NET developers

View Agenda

This training is for

Java developers who want to improve their abilities to tune-up the performance of their Java applications

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

Agenda

Day 1

1. JVM runtime behavior

The “90/10” rule

  • Pause sources
  • Memory consumption

GC algorithms, main memory areas, etc

Chose the right GC policy for your application

JVM live tracing: see how and when the byte codes are transformed into machine code, GC activity, etc.

2. Profiling(hands-on)

Know the tools:

  • Built-in: jconsole, jvisualvm, jfr, jps, etc.
  • JProfiler

Real-time analysis

Generate and analyze heap dumps

Heap inspection, memory leaks detection, etc.

Profile a simple JPA application

Day 2

3. Programming techniques: how to optimize for performance. Some techniques presented here are bad; we consider and analyse them in order to see when they are worth using.

Reduce (e.g. StringBuffer instead of Strings for concatenation or scan problems)

Reuse

  • Reuse buffers, flyweight pattern
  • Does flyweight really bring performance boost in heavily threaded applications?

Recycle: recycle objects, use ObjectPool

The cost of reflection

The cost of casts

Cache frequently computed values

  • Cache static and instance variables
  • Cached exceptions
  • Quick memcache intro

Weak references

4. JMM (Java Memory Model)

Building blocks

  • Examples and pitfalls
  • Data contention versus lock contention

Modern multi-threading constructs (hands-on)

  • Types of locks
  • Atomic DS
  • Executors, thread blocks
  • ConcurrentMap, BlockingQueue, BlockingDequeue
  • Future
  • COW data structures

Day 3

5. Smart” collections

FastUtil

Goldman Sachs Collections

HPPC

Koloboke

Trove

6. Parallelism (with examples in Java 8)

Theory: map/reduce, scatter, gather, filter, etc.

Parallel map, parallel reduce, scan, histogram

Fork/Join

Pitfalls (e.g. be careful at deadlocks): if the developer is not careful, he can call a blocking method from within a parallel stream.

Trove

7. JNI brief intro: write a small native utility (C code is given) and call it from Java.

Discuss main JNI architecture

JNI is sometimes useful: we will analyse these situations and see some real-life examples.

REQUIREMENTS

For the best experience we can offer, we will need details about each trainee:

  1. We assume the participants are already proficient in writing Java programs
  2. The operating system of your choice
  3. Your preferred IDE or editor
  4. If the system has at least 4GB of memory, the following should be installed on the host operating system: VirtualBox 4.3.x or later, Vagrant 1.7.x or later
  5. If the system has less than 4GB of memory: latest JDK 8 installed on the host operating system

GET COMPREHENSIVE TRAINING FOR YOUR TEAM

Pin It on Pinterest