Програмування підмобільні платформи
Що таке мобільна програма?• Програма, яка виконується на мобільному  пристрої: смартфоні чи планшеті• Доступна для користу...
Мобільні платформи набирають         популярність
Мобільні платформи набирають         популярність
Мобільні програми набирають        популярність
Види мобільних програм•   Productivity        • Location-based•   Utilities           • Games and•   Social networking    ...
Типи мобільних програм• Native apps• Web apps• Hybrid
Native apps• Compiled binary deployed to device• Use native framework• Access to all device-specific features
Web apps• Web-site displayed in mobile browser• HTML5, CSS, Javascript• Frameworks: jQuery mobile, Sencha Touch,  etc.• Ca...
Native vs. WebNative                                     Web• Better performance, compiled code        • Single app for al...
Hybrid apps• Native app combined with web view  component (“shell apps”)• Frameworks: PhoneGap, Appcelerator  Titanium
Основні мобільні ОС• Android• iOS• Windows Phone 7• Windows 8 (!) – not released yet• Інші (менш популярні та ті, що втрач...
Native apps development on          different platforms                   Android               iOS           Windows Phon...
C# and Mobile Development• Windows Phone 7 native apps• Windows 8 RT – native Metro UI apps for  tablets• iOS/Android/WP7 ...
Xamarin•   Based on Mono project•   MonoTouch, Mono for Android, .NET•   Allows to share business logic code•   UI code is...
Windows Phone 7 and Windows 8                RT•   C#, .NET, SilverLight•   Metro UI•   Visual Studio + SDK•   Simulator
Процес розробки•   SDK•   IDE•   Simulator•   Device
App Distribution• Publish to app market (App Store, Google  Play, Windows Marketplace)• Ad-hoc distribution for in-house e...
Особливості мобільних програм• Mobile device is not desktop!• Hardware constraints:  Memory size, CPU speed, battery life,...
Mobile UI•   Small screen•   Touch interface, gestures•   Consistency•   Simplicity, focus on content and task•   Specific...
Mobile UI: Small Screen• User interacts with single app at a time• Apps usually have single window• Use hierarchical struc...
Mobile UI: Gestures•   Tap•   Pinch in and out•   Pan or drag•   Swipe•   Rotate•   Touch and hold•   Shake
Mobile UI: Consistency• Provide native OS user experience• Adhere to human interface guidelines  •   http://developer.andr...
UI Elements (iOS)    Similar to desktop (but adjusted for touch    interaction):•    Button                •   Slider•    ...
UI Elements (iOS)• Segmented control• Switch• Stepper• Search bar• Network activity indicator
UI Elements (iOS)• Navigation bar• Toolbar• Tab bar
UI Elements (iOS)• Table view (plain and grouped)
UI Elements (iOS)• Popover (iPad only)
UI Elements (iOS)• Split view (iPad only)
UI Elements (iOS)• Action sheet• Picker
Application lifecycle (iOS)
Multitasking and background             execution• Apps are moved to background  instead of quit• Required to handle inter...
Moving to background
Device and features•   Multi-touch•   Sensors: accelerometer, gyroscope, magnetometer•   Media (audio & video playback and...
Upcoming SlideShare
Loading in …5
×

Mobile applications development

1,908 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,908
On SlideShare
0
From Embeds
0
Number of Embeds
1,285
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mobile applications development

  1. 1. Програмування підмобільні платформи
  2. 2. Що таке мобільна програма?• Програма, яка виконується на мобільному пристрої: смартфоні чи планшеті• Доступна для користувача в будь-якому місці і в будь-який час• Має вузький набір функцій
  3. 3. Мобільні платформи набирають популярність
  4. 4. Мобільні платформи набирають популярність
  5. 5. Мобільні програми набирають популярність
  6. 6. Види мобільних програм• Productivity • Location-based• Utilities • Games and• Social networking entertainment• Communication • Enterprise• Content browsing, • …• Media
  7. 7. Типи мобільних програм• Native apps• Web apps• Hybrid
  8. 8. Native apps• Compiled binary deployed to device• Use native framework• Access to all device-specific features
  9. 9. Web apps• Web-site displayed in mobile browser• HTML5, CSS, Javascript• Frameworks: jQuery mobile, Sencha Touch, etc.• Can imitate native UI• Can hide browser controls and be added to device screen alongside with other apps
  10. 10. Native vs. WebNative Web• Better performance, compiled code • Single app for all platforms• Responsive native UI • Less development and lower cost• Can work offline, require less • No need to publish to app market (no bandwidth usage review process)• Access to all device-specific features • Don’t have to be installed (camera, motion sensors, location • Easy to update services, contacts, calendar, local storage, etc.)• Distribution through app markets
  11. 11. Hybrid apps• Native app combined with web view component (“shell apps”)• Frameworks: PhoneGap, Appcelerator Titanium
  12. 12. Основні мобільні ОС• Android• iOS• Windows Phone 7• Windows 8 (!) – not released yet• Інші (менш популярні та ті, що втрачають позиції): Symbian, Blackberry OS, Samsung Bada, Meego, HP WebOS, Windows Mobile, …
  13. 13. Native apps development on different platforms Android iOS Windows Phone 7Desktop OS for Windows Mac OS X Windowsdevelopment Mac OS X LinuxMain programming Java Objective-C C#languageFramework Android Application Cocoa Touch .NET/Silverlight FrameworkIDE Eclipse Xcode Visual Studio
  14. 14. C# and Mobile Development• Windows Phone 7 native apps• Windows 8 RT – native Metro UI apps for tablets• iOS/Android/WP7 development with Xamarin• Back-end web-services for mobile apps with .NET
  15. 15. Xamarin• Based on Mono project• MonoTouch, Mono for Android, .NET• Allows to share business logic code• UI code is platform-dependent• Costs money ($ 399 for individuals and small companies, $999 for enterprise per platform) http://xamarin.com/
  16. 16. Windows Phone 7 and Windows 8 RT• C#, .NET, SilverLight• Metro UI• Visual Studio + SDK• Simulator
  17. 17. Процес розробки• SDK• IDE• Simulator• Device
  18. 18. App Distribution• Publish to app market (App Store, Google Play, Windows Marketplace)• Ad-hoc distribution for in-house enterprise apps
  19. 19. Особливості мобільних програм• Mobile device is not desktop!• Hardware constraints: Memory size, CPU speed, battery life, small screen, network availability• Different UI and interaction
  20. 20. Mobile UI• Small screen• Touch interface, gestures• Consistency• Simplicity, focus on content and task• Specific UI elements
  21. 21. Mobile UI: Small Screen• User interacts with single app at a time• Apps usually have single window• Use hierarchical structure to browse content, animated transition between screens• Device orientation can change
  22. 22. Mobile UI: Gestures• Tap• Pinch in and out• Pan or drag• Swipe• Rotate• Touch and hold• Shake
  23. 23. Mobile UI: Consistency• Provide native OS user experience• Adhere to human interface guidelines • http://developer.android.com/design/index.html • http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Int roduction/Introduction.html • http://msdn.microsoft.com/en-us/library/hh202915(v=vs.92)• Correctly use standard controls and icons• Application consistency within itself
  24. 24. UI Elements (iOS) Similar to desktop (but adjusted for touch interaction):• Button • Slider• Label • Activity indicator• Text field • Progress view• Text view • Alert• Web view
  25. 25. UI Elements (iOS)• Segmented control• Switch• Stepper• Search bar• Network activity indicator
  26. 26. UI Elements (iOS)• Navigation bar• Toolbar• Tab bar
  27. 27. UI Elements (iOS)• Table view (plain and grouped)
  28. 28. UI Elements (iOS)• Popover (iPad only)
  29. 29. UI Elements (iOS)• Split view (iPad only)
  30. 30. UI Elements (iOS)• Action sheet• Picker
  31. 31. Application lifecycle (iOS)
  32. 32. Multitasking and background execution• Apps are moved to background instead of quit• Required to handle interruptions and state transitions• Limited ability of running in background• Apps in background can be killed by OS during low memory conditions
  33. 33. Moving to background
  34. 34. Device and features• Multi-touch• Sensors: accelerometer, gyroscope, magnetometer• Media (audio & video playback and recording)• Camera• GPS and location• Networking• Local storage: file system, SQLite, ORMs• OpenGL ES

×