Introduction to Devoloping Disconnected Devices Applications - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Introduction to Devoloping Disconnected Devices Applications

Description:

... (consulting firm based in Casablanca Morocco) BR ... P Senior Consultant and ... P Speaker at many conferences and events (TechEd, NDC, MDC, DevDays, ... – PowerPoint PPT presentation

Number of Views:150
Avg rating:3.0/5.0
Slides: 33
Provided by: downloadM
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Devoloping Disconnected Devices Applications


1
Introduction to DevolopingDisconnected Devices
Applications
  • Malek Kemmou
  • CEO Arrabeta
  • kemmou_at_kemmou.com

2
xmlContainer.Render()
  • ltSpeakergt
  • ltBiogt
  • ltPgt CEO Arrabeta (consulting firm based in
    Casablanca Morocco) ltBR/gt
  • Newtelligence Alliance Partner lt/Pgt
  • ltPgt Senior Consultant and Senior Trainer ltBR/gt
  • Solutions Architecture, integration,
    interoperability lt/Pgt
  • ltPgt Microsoft Regional Director for Middle East
    and Africa lt/Pgt
  • ltPgt Ineta MEA Speaker Bureau lt/Pgt
  • ltPgt Speaker at many conferences and events
    (TechEd, NDC, MDC, DevDays, DevEssentials ) lt/Pgt
  • lt/Biogt
  • lt/Speakergt

3
Microsoft Regional Directors
  • http//www.microsoft.com/rd
  • 140 experts from all around the world
  • Speaking at PDC 2004
  • Clemens Vasters (Germany)
  • Stephen Forte (New York)
  • Farhan Mohammad (Minesota)
  • Goksin Bakir (Turkey)
  • Malek Kemmou (Morocco)
  • Ahmad Badr (Egypt)
  • Hossam Khalifa (Egypt)

4
Mobility Track
  • Mobile Web Development with Microsoft Visual
    Studio .NET
  • Developing Compact Framework Applications for
    PocketPC and Smartphone
  • Developing PocketPC Applications for a
    Semi-Connected Environment
  • Building Localized/Globalized Applications for
    Windows Mobile Devices (Goksin Bakir)
  • Developing Performing Mobile Applications with
    the .Net Compact Framework

5
Agenda
  • Mobile Devices Today
  • Compact Framework
  • Developing for devices without noticing the
    difference
  • First encounters with device specifics
  • God damn PInvoke
  • Future the Whidbey device tools

6
Mobile Devices today
  • Windows Mobile 2003
  • Compact Framework in ROM or supported
  • PocketPC
  • PocketPC Phone Edition
  • SmartPhone
  • Other Windows CE devices (mini-Tablets, special
    input card readers / bar code / ,
    accessibility devices, GPS, Radios etc.)
  • Non Windows devices
  • All kinds of phones, black berries, palm, etc.

7
More Devices tomorrow
  • SPOT Small Portable Object Technology
  • Meet Stan and Ollie
  • Stan Analog/digital Radio, frequency agile,
    burst receiver
  • Ollie ARM
  • Usage
  • Watches, alarm clocks, radio receivers,
    refrigerator, stove, etc.

Stan
Ollie
8
A semi connected world
  • Cost
  • Placing a phone call (or a Wifi connection)
  • Bandwidth
  • GSM is 14.4 kbs, GPRS 28.8kbs
  • Infrastructure
  • The worker up in the mountain, the sailor out in
    the ocean
  • Power shortage, network downtime

9
.Net for devices overview Development Platform
Visual Studio .NET
.NET Framework
Server-side Web Apps
Client-sideRich Apps
Local Code
Remote Web Pages
Mobile Web Browser
.NET CompactFramework
10
Developing for disconnection
  • Applications need to run on the device
  • Small footprint programming
  • Low memory
  • Low performance
  • No hard disk
  • Device specifics
  • Platform targets (CPU an OS)
  • Various form factors
  • Various functionnality (telephony, connectivity,
    phonebook / contacts, etc)

11
I Wish I Could
  • Have a RAD environment
  • Abstraction of device specifics
  • Develop once, deploy everywhere
  • Use familiar programming and object models

12
.NET For Devices
  • Taking the .NET platform to devices
  • .NET Compact Framework
  • APIs are subset of full .NET Framework class
    libraries
  • Creating .NET tools for devices
  • Visual Studio .NET 2003 integrated device support
  • Key bets
  • Scale .NET down to devices
  • Best of connected and disconnected
  • Enable great developer productivity
  • Creating web applications for mobile devices
  • ASP.NET Mobile Controls

13
.NET for Devices.NET Framework
OleDB, odbc, Oracle
14
.NET for Devices.NET Compact Framework
SqlServerCe
15
.NET for DevicesCommon CLR Features
  • .NET Compact Framework supports all the core CLR
    features
  • Exceptions
  • Constructors and Finalizers
  • IDisposable
  • Remote Debugging
  • App Domains
  • Applications can start another application domain
    in-process
  • P/Invoke

16
.NET for DevicesWhat isnt included?
  • Reflection Emit
  • Remoting
  • Serialization (Accessing the XMLSerializer)
  • Code Dom
  • Printing
  • COM Interoperability
  • Server side functionality
  • XPath/XSLT

17
Demo
  • Am I really coding for a PocketPC ?

18
Smartphone Support Visual Studio .NET 2003
  • Forms designer
  • Emulation environment
  • Rich debugging experience
  • .NET Compact Framework 1.0
  • Feature of every Smartphone 2003 device
  • Built in support for XML Web Services, Windows
    Forms, XML, ADO.NET and more
  • Supports subset of controls
  • Integration with native security model
  • Additional command-line tools
  • CAB creation, configuration, code signing

19
Smartphone Roadmap
  • Smartphone 2002
  • eMbedded Visual C 3.0
  • Windows Mobile for Smartphone 2003
  • Add-In for Visual Studio .NET 2003 in Smartphone
    SDK (VB.NET C)
  • eMbedded Visual C 4.2
  • Future Generation
  • Visual Studio 2005 (VB.NET, C C)
  • .NET Compact Framework 2.0

20
Demo
  • My phone is smart

21
What About Device Specific Functionality !
  • Telephony
  • SMS Messaging
  • Accessing PIM Data
  • Accessing the SIM card
  • BlueTooth
  • Printer drivers

22
P/Invoking the genie
  • Telephony
  • P/Invoke to RequestMakeCall or PhoneMakeCall
  • SMS Messaging
  • P/Invoke to messaging APIs for sending
  • Receiving requires a native component to receive
    the message then pass it out of process to
    managed application
  • Accessing PIM Data
  • P/Invoke to Pocket Outlook Object Model
  • Accessing the SIM card
  • P/Invoke to native SIM Toolkit APIs

23
Demo
  • Making a phone call,
  • Sending SMS messages

24
After my 3 wishes
  • How do I deal with ActiveX components
  • Drivers (Printer etc.)
  • What about embeded components
  • P/Invoke is too heavy, too inelegant
  • Can I simply have COM-Interop (wrapping)
  • What about games and graphics

25
Tomorrows mobile dev
  • Introducing
  • Visual Studio 2005
  • For devices

26
GamingVisual Studio 2005
  • Direct3D Mobile Managed Interfaces!
  • Low level 3D API, based on Direct3D 8
  • Floating point and fixed point
  • Hardware vendors to provide D3DM drivers
    optimized mobile hardware
  • Supports multiple architectures pure software,
    pure hardware or software/hardware mix
  • Enables rapid development of high performance 2D
    and 3D applications
  • Games, Image processing, Visualization

27
Windows FormsVisual Studio 2005
  • Windows Forms Designer
  • Smartphone look and feel
  • Docking Anchoring
  • AutoScale
  • Skin Feature
  • User Control
  • New Controls
  • WebBrowser
  • DataGrid
  • Notifications
  • DateTimePicker
  • Keypad support
  • Keypad events on common controls
  • TabIndex TabStop

28
Accessing Phone FeaturesVisual Studio 2005
  • Pocket Outlook APIs
  • Tasks, Contacts, Calendar, Email and SMS
  • Configuration Management APIs
  • Configure device settings with XML
  • Profiles, Themes, Dialing Settings and more
  • Telephony APIs
  • Easily place or end calls from managed code
  • Access to call logs, radio state and call state
  • COM Interop
  • Runtime Callable Wrappers (RCW) provide proxies
    for native COM objects
  • Integrated into the Visual Studio Whidbey shell

29
Pocket OutlookVisual Studio 2005
Imports Microsoft.WindowsMobile.PocketOutlook '
Display users contacts in a ListBox Dim
myItemStore As New ItemStore Dim ContactsListBox
As System.Windows.Forms.ListBox ContactsListBox.Da
taSource myItemStore.Contacts.Items ContactsList
Box.DisplayMember "FileAs" ' Modify the
currently selected contact in the ListBox Dim c
As Contact CType(ContactsListBox.SelectedItem,
Contact) c.CompanyName Microsoft c.Title
Program Manager ' Save the contact c.Update()
30
TelephonyVisual Studio 205
using Microsoft.WindowsMobile.PocketOutlook using
Microsoft.WindowsMobile.Telephony Phone
myPhone new Phone() // If the radio is on,
make the call if (myPhone.RadioState
Available) VoiceCall c new
VoiceCall("2065555555", true)
c.Talk() // Display call information from
Call Log // Use Pocket Outlook APIs to display
contact Info foreach (VoiceCall vc in
myPhone.CallLog.AllVoiceCalls)
MessageBox.Show("Call 0 1",
vc.Contact.FirstName, c.Number)
31
Summary
  • Framework and tools enable end-to-end creation of
    PocketPC and Smartphone applications
  • Visual Studio .NET 2003
  • .NET Compact Framework 1.0
  • Windows Mobile for Smartphone 2003 SDK
  • Visual Studio Whidbey
  • .NET Compact Framework Whidbey
  • Integrated Smartphone support
  • More managed APIs
  • Direct 3D Mobile
  • Rapid application development
  • Better performance

32
Call to Action
  • If you havent yet, start developing .Net Compact
    Framework Applications today
  • Prepare for tomorrows applications today
  • Use existing P/Invoke tools and libraries
  • Start testing and experimenting with Visual
    Studio 2005

33
Questions ?
  • http//www.malekkemmou.ma
  • kemmou_at_kemmou.com
Write a Comment
User Comments (0)
About PowerShow.com