SlideShare une entreprise Scribd logo
1  sur  27
Jon Cortez
                                  Regional Practice Director
                                 Custom App Dev & Mobility
                                                   Neudesic


building mobile web apps using
ASP.NET MVC, HTML5 &
jQuery Mobile
Agenda

 Introduction

 ASP.NET MVC

 Mobile Development

 jQuery Mobile

 Conclusion

 Q&A
Introduction

 Who am I?
   DLSU Alumni (Catch 92)
   Currently lives in Seattle, WA
   RPD for PacWest Region at Neudesic (www.neudesic.com)
   Area of focus is Custom Application Development and Mobility
   Contact Info
      Email: jcortez@gmail.com
      LinkedIn: http://www.linkedin.com/in/jcortez
Introduction

 Why mobile development?
    Over a billion mobile devices with rich web capabilities
    Study conducted on May 2011 shows that 90 of Top 200 sites
     have no mobile version
    Mobile devices are becoming the primary way that most people
     access the web
Introduction

 Goals for this session
    Introduce Mobile Web Development
    Writing your first mobile web app using ASP.NET MVC, HTML5
     and jQuery Mobile that targets multiple platforms and form
     factors (phones, tablets, desktop)
    Spark interest in Mobile Web
Introduction

 Pre-requisites for this session
    Familiarity with HTML and web development
    Experience with ASP.NET development is important
    Understanding of jQuery will be useful
ASP.NET MVC

   Microsoft ASP.NET Frameworks
       ASP.NET Web Forms
       ASP.NET MVC

   Web Forms
       Original design from late 90s
       Strongly typed compiled code replaced script
       Abstract away the web
       Click events replaced “POST” operations
       Competes against other MVC frameworks
         Struts
         Ruby on Rails
         Django
ASP.NET MVC

 ASP.NET MVC Design Goals
   Does not replace Web Forms but provides an alternative framework
   Still runs on ASP.NET
       Caching, modules, master pages, providers, handlers, session state
   Embrace the web
       No illusions of state – no page lifecycle
       Clean URLs and clean HTML
   Extensible and pluggable framework
       Pluggable view engines
       Support for Dependency Injection
   Testable
       Maintains a strict separation of concern
ASP.NET MVC
        MVC Design Pattern


             Controller




Model                        View
ASP.NET MVC

 Development Tools
   Visual Studio 2010 Premium Edition
   IIS 7.5
   SQL Server 2008 R2
   Alternatively, free version via Web Platform Installer at
     http://www.microsoft.com/web/downloads/platform.aspx
        Visual Web Developer 2010 Express
        IIS 7.5 Express
        SQL Server 2008 R2 Express
    ASP.NET MVC 3
ASP.NET MVC



            Demo:
Your first ASP.NET MVC app
ASP.NET MVC

                                 Demo
 Business Requirements
   Ability to post restaurant information
   Ability to rate a restaurant
   Ability to post a review of a restaurant

 Technical Requirements
   Must run on IIS
   Must use SQL Server
   Must support major web browsers
   Must be mobile-enabled
Mobile Development

 Mobile 2.0
    Similar to the web boom in the 90’s
    Most companies need/want a mobile app
    Opportunity to still get in early
    Evident on mobile platform: Windows 8 and Mac OS X Lion
Mobile Development
US Smartphone Market Share (Jun, 11)



                                       RIM
                                       iOS
                                       Android
                                       WM6/WP7
                                       Palm
                                       Other
Mobile Development




 Native Client     Mobile Web
 Monetization       Skills Transfer
    Offline       Multiple Platforms
 Performance      No Deploy/Update
Device Features    Run on Desktop
Mobile Development

Functionality        Native Application   Mobile Web (HTML5)
Geo Location                Yes                   Yes
Local Storage               Yes                   Yes
Offline                     Yes                   Yes
Phone Dialer                Yes            Yes (through URL)
Maps                        Yes             Web control only
Contacts                    Yes
Camera                      Yes
Accelerometer               Yes
File System                 Yes
Push Notifications          Yes
Mobile Development

 Native
   Develop using original platform tools
   For iOS
       Objective-C
       Mac OS X
       Cocoa Touch SDK
   For Android
       Java
       Android Application Framework
   Learning curve
   No code reuse
   Great user experience
Mobile Development

 Mobile Web
   Use subset of HTML / JavaScript / CSS
   Native mobile browser or hosted shell
   Use of mobile JavaScript framework: jQuery Mobile, Sencha
     Touch, jQTouch, iUI, etc.
   Write once, works anywhere
   Downside
      Common denominator
      Hardware interaction
      Can be slow
      Doesn’t feel like a native app
Mobile Development

 Other approaches
    Mono Touch / Mono for Android
    PhoneGap
    Appcelerator
jQuery Mobile

 What is jQuery Mobile?
    A touch-optimized web framework
    Developed by the jQuery project team
    Focused on compatibility with a wide variety of smartphones and
     tablets
    Current version is jQuery Mobile 1.0
jQuery Mobile

   Top 10 Features
    1.    Built on jQuery core for familiarity
    2.    Lightweight (~ 20K download size)
    3.    HTML Markup Configuraton – do a lot before writing any JavaScript
    4.    Progressive Enhancement – core functionality works on all base platform
    5.    Automatic Initialization – based on data-* attributes in HTML5
    6.    Accessibility – based on WAI-ARIA
    7.    Touch and mouse event support
    8.    UI Widgets – great selection of native looking controls
    9.    Themed Framework – support for alternative CSS 3.0 based themes
    10.   Broad Platform Support – works on a variety of smartphone and tablet
          devices
jQuery Mobile

 What you need to develop in jQuery Mobile
    Your favorite IDE for HTML
        Visual Studio, Eclipse, TextMate
      A web browser capable of inspecting HTML elements / JavaScript
       debugging
        Google Chrome, Safari, IE9
    Device or emulator for testing your application
        Mac (iOS Simulator), iPhone, iTouch, iPad if targeting iOS devices
        Android device or Android Emulator
jQuery Mobile

 Getting Started
   Create a regular web application
   Include references to jQM CSS and JS files
      <link href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css"
      rel="stylesheet" type="text/css" />
      <script src="http://code.jquery.com/jquery-1.7.1.min.js"
      type="text/javascript"></script>
      <script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"
      type="text/javascript"></script>
    Include viewport reference
      <meta name="viewport" content="width=device-width, initial-scale=1" />
    Create markup using HTML5 data-* attributes to define page,
       header, content, and footer
jQuery Mobile



        Demo:
“Mobify” Chibog Reviews
Conclusion

 ASP.NET MVC + jQuery Mobile is a flexible, full-featured
   framework for building mobile web apps that target multiple
   platforms and form factors

 Investment and brand behind jQuery Mobile puts it in a good
   position to be the de facto standard framework

 Web developers can easily transition to mobile development
Resources

ASP.NET MVC - http://www.asp.net/mvc

jQuery Mobile – http://jquerymobile.com

My blog – http://joncortez.azurewebsites.net
Q&A



Questions?

Contenu connexe

Tendances

HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기정현 황
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgZiyad Bazed
 
Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with SitecorePieter Brinkman
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfJAX London
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with FlexConFoo
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigationoppokui
 
uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012Jennifer Bourey
 
Sencha touchonbb10 bootcamp
Sencha touchonbb10 bootcampSencha touchonbb10 bootcamp
Sencha touchonbb10 bootcampn_adam_stanley
 
Sitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile AppsSitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile Appscaptech
 
Sg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleySg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleyn_adam_stanley
 
Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Omega_UAE
 
Mobility testing day_1_ppt
Mobility testing day_1_pptMobility testing day_1_ppt
Mobility testing day_1_pptsayhi2sudarshan
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureMotorola Mobility - MOTODEV
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010Cory Foy
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevMihail Mateev
 
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMIBACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMIbacmove
 

Tendances (19)

HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
 
Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with Sitecore
 
Magic xpa total mobility experience
Magic xpa  total mobility experienceMagic xpa  total mobility experience
Magic xpa total mobility experience
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with Flex
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigation
 
uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012
 
Sencha touchonbb10 bootcamp
Sencha touchonbb10 bootcampSencha touchonbb10 bootcamp
Sencha touchonbb10 bootcamp
 
Javascript frameworks
Javascript frameworksJavascript frameworks
Javascript frameworks
 
Sitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile AppsSitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile Apps
 
Sg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleySg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanley
 
Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021
 
Mobility testing day_1_ppt
Mobility testing day_1_pptMobility testing day_1_ppt
Mobility testing day_1_ppt
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMIBACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
 

Similaire à Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile

Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalAjax Experience 2009
 
Phonegap android
Phonegap androidPhonegap android
Phonegap androidumesh patil
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeCaridy Patino
 
MyMobileWeb Certification Part I
MyMobileWeb Certification Part IMyMobileWeb Certification Part I
MyMobileWeb Certification Part Icrdlc
 
Sencha Touch for Rubyists
Sencha Touch for RubyistsSencha Touch for Rubyists
Sencha Touch for RubyistsJames Pearce
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGapJoshua Johnson
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkSalesforce Developers
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapNur Hidayat
 
Top 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesTop 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesAjayMishra302670
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsJames Pearce
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platformGuada Casuso
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web appSholto Maud
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Marco Tabor
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoCaridy Patino
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkTroy Miles
 
Developing for Mobile Web
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile WebBarbara Bermes
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 

Similaire à Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile (20)

Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.Final
 
Phonegap android
Phonegap androidPhonegap android
Phonegap android
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
 
MyMobileWeb Certification Part I
MyMobileWeb Certification Part IMyMobileWeb Certification Part I
MyMobileWeb Certification Part I
 
Sencha Touch for Rubyists
Sencha Touch for RubyistsSencha Touch for Rubyists
Sencha Touch for Rubyists
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGap
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic Framework
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGap
 
Top 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesTop 10 Best Web Development Technologies
Top 10 Best Web Development Technologies
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platform
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
Developing for Mobile Web
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile Web
 
Shankar
ShankarShankar
Shankar
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 

Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile

  • 1. Jon Cortez Regional Practice Director Custom App Dev & Mobility Neudesic building mobile web apps using ASP.NET MVC, HTML5 & jQuery Mobile
  • 2. Agenda  Introduction  ASP.NET MVC  Mobile Development  jQuery Mobile  Conclusion  Q&A
  • 3. Introduction  Who am I?  DLSU Alumni (Catch 92)  Currently lives in Seattle, WA  RPD for PacWest Region at Neudesic (www.neudesic.com)  Area of focus is Custom Application Development and Mobility  Contact Info  Email: jcortez@gmail.com  LinkedIn: http://www.linkedin.com/in/jcortez
  • 4. Introduction  Why mobile development?  Over a billion mobile devices with rich web capabilities  Study conducted on May 2011 shows that 90 of Top 200 sites have no mobile version  Mobile devices are becoming the primary way that most people access the web
  • 5. Introduction  Goals for this session  Introduce Mobile Web Development  Writing your first mobile web app using ASP.NET MVC, HTML5 and jQuery Mobile that targets multiple platforms and form factors (phones, tablets, desktop)  Spark interest in Mobile Web
  • 6. Introduction  Pre-requisites for this session  Familiarity with HTML and web development  Experience with ASP.NET development is important  Understanding of jQuery will be useful
  • 7. ASP.NET MVC  Microsoft ASP.NET Frameworks  ASP.NET Web Forms  ASP.NET MVC  Web Forms  Original design from late 90s  Strongly typed compiled code replaced script  Abstract away the web  Click events replaced “POST” operations  Competes against other MVC frameworks  Struts  Ruby on Rails  Django
  • 8. ASP.NET MVC  ASP.NET MVC Design Goals  Does not replace Web Forms but provides an alternative framework  Still runs on ASP.NET  Caching, modules, master pages, providers, handlers, session state  Embrace the web  No illusions of state – no page lifecycle  Clean URLs and clean HTML  Extensible and pluggable framework  Pluggable view engines  Support for Dependency Injection  Testable  Maintains a strict separation of concern
  • 9. ASP.NET MVC MVC Design Pattern Controller Model View
  • 10. ASP.NET MVC  Development Tools  Visual Studio 2010 Premium Edition  IIS 7.5  SQL Server 2008 R2  Alternatively, free version via Web Platform Installer at http://www.microsoft.com/web/downloads/platform.aspx  Visual Web Developer 2010 Express  IIS 7.5 Express  SQL Server 2008 R2 Express  ASP.NET MVC 3
  • 11. ASP.NET MVC Demo: Your first ASP.NET MVC app
  • 12. ASP.NET MVC Demo  Business Requirements  Ability to post restaurant information  Ability to rate a restaurant  Ability to post a review of a restaurant  Technical Requirements  Must run on IIS  Must use SQL Server  Must support major web browsers  Must be mobile-enabled
  • 13. Mobile Development  Mobile 2.0  Similar to the web boom in the 90’s  Most companies need/want a mobile app  Opportunity to still get in early  Evident on mobile platform: Windows 8 and Mac OS X Lion
  • 14. Mobile Development US Smartphone Market Share (Jun, 11) RIM iOS Android WM6/WP7 Palm Other
  • 15. Mobile Development Native Client Mobile Web Monetization Skills Transfer Offline Multiple Platforms Performance No Deploy/Update Device Features Run on Desktop
  • 16. Mobile Development Functionality Native Application Mobile Web (HTML5) Geo Location Yes Yes Local Storage Yes Yes Offline Yes Yes Phone Dialer Yes Yes (through URL) Maps Yes Web control only Contacts Yes Camera Yes Accelerometer Yes File System Yes Push Notifications Yes
  • 17. Mobile Development  Native  Develop using original platform tools  For iOS  Objective-C  Mac OS X  Cocoa Touch SDK  For Android  Java  Android Application Framework  Learning curve  No code reuse  Great user experience
  • 18. Mobile Development  Mobile Web  Use subset of HTML / JavaScript / CSS  Native mobile browser or hosted shell  Use of mobile JavaScript framework: jQuery Mobile, Sencha Touch, jQTouch, iUI, etc.  Write once, works anywhere  Downside  Common denominator  Hardware interaction  Can be slow  Doesn’t feel like a native app
  • 19. Mobile Development  Other approaches  Mono Touch / Mono for Android  PhoneGap  Appcelerator
  • 20. jQuery Mobile  What is jQuery Mobile?  A touch-optimized web framework  Developed by the jQuery project team  Focused on compatibility with a wide variety of smartphones and tablets  Current version is jQuery Mobile 1.0
  • 21. jQuery Mobile  Top 10 Features 1. Built on jQuery core for familiarity 2. Lightweight (~ 20K download size) 3. HTML Markup Configuraton – do a lot before writing any JavaScript 4. Progressive Enhancement – core functionality works on all base platform 5. Automatic Initialization – based on data-* attributes in HTML5 6. Accessibility – based on WAI-ARIA 7. Touch and mouse event support 8. UI Widgets – great selection of native looking controls 9. Themed Framework – support for alternative CSS 3.0 based themes 10. Broad Platform Support – works on a variety of smartphone and tablet devices
  • 22. jQuery Mobile  What you need to develop in jQuery Mobile  Your favorite IDE for HTML  Visual Studio, Eclipse, TextMate  A web browser capable of inspecting HTML elements / JavaScript debugging  Google Chrome, Safari, IE9  Device or emulator for testing your application  Mac (iOS Simulator), iPhone, iTouch, iPad if targeting iOS devices  Android device or Android Emulator
  • 23. jQuery Mobile  Getting Started  Create a regular web application  Include references to jQM CSS and JS files <link href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" rel="stylesheet" type="text/css" /> <script src="http://code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"></script> <script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js" type="text/javascript"></script>  Include viewport reference <meta name="viewport" content="width=device-width, initial-scale=1" />  Create markup using HTML5 data-* attributes to define page, header, content, and footer
  • 24. jQuery Mobile Demo: “Mobify” Chibog Reviews
  • 25. Conclusion  ASP.NET MVC + jQuery Mobile is a flexible, full-featured framework for building mobile web apps that target multiple platforms and form factors  Investment and brand behind jQuery Mobile puts it in a good position to be the de facto standard framework  Web developers can easily transition to mobile development
  • 26. Resources ASP.NET MVC - http://www.asp.net/mvc jQuery Mobile – http://jquerymobile.com My blog – http://joncortez.azurewebsites.net