michael@10: Mobile Cross-platform Development Frameworks michael@10: Type: Lecture/presentation michael@10: Category: Engineering/development michael@10: Topic: Networking/Internals/Implementation choices michael@10: Audience: Android application developers michael@10: Duration: 30 minute presentation michael@10: michael@10: Author and Speaker michael@10: ------------------ michael@10: Michael Schloh von Bennewitz michael@10: Software Engineer, Europalab Networks michael@10: web: http://michael.schloh.com/ michael@10: email: michael@schloh.com michael@10: isdn: +49(89)44239885 michael@10: voip: sips:michael@schloh.com michael@10: xmpp: MSvB michael@10: michael@10: Biography michael@10: --------- michael@10: Michael Schloh von Bennewitz is a computer scientist specializing in michael@10: network software, mobile computing, and client server design. He speaks michael@10: at technical events every year. In 2011 he gave two presentations on michael@10: MeeGo to the Opensource Treffen as well as presentations on LDAP michael@10: integration strategies and the Qt library build process to fellow michael@10: developers at the Nokia Developer Summit in Berlin. His speaking style michael@10: is humerous, using gestures and good eye contact. He walks about the michael@10: room and writes presentations in SVG or HTML5. michael@10: michael@10: Abstract michael@10: -------- michael@10: With cross-platform mobile development frameworks like jQuery, Dojo, and michael@10: Sencha, developers enjoy the ability to write an application for several michael@10: APIs. Particularly of benefit to Android developers is the smooth michael@10: transition between API versions as well as reduced porting work. michael@10: michael@10: Many developers write Java code strictly for the Android OS. It may michael@10: surprise them to know that for many applications a similar workload michael@10: writing HTML code results in a functionally similar APK package. michael@10: Concrete benefits are considered as well as limits to this strategy. michael@10: Requirements, implementation choices, and distribution using Phonegap michael@10: are considered. michael@10: michael@10: The audience consists of developers familiar with the traditional michael@10: development lifecycle of Android applications. Attendants expect a michael@10: clearly defined workflow of using trendy cross-platform frameworks and michael@10: pro and contra criteria for considering them along with abstract proof michael@10: (provided in a demonstration) of concept. michael@10: michael@10: The Android community stands to benefit from being informed about michael@10: current trends in cross-platform mobile development frameworks as many michael@10: developers suffer the stumbling block of porting and supporting michael@10: applications. michael@10: michael@10: Please see the file attachment for a lecture outline. michael@10: michael@10: Main chapters (15 minutes) michael@10: -------------------------- michael@10: Concepts michael@12: Portable development michael@12: Standardized API michael@12: Work flows michael@12: Platform dependent development michael@12: Cross platform development michael@12: HTML5/CSS3/Javascript architecture michael@12: Runtime process support michael@10: michael@10: Frameworks michael@10: JQuery Mobile [1] michael@10: Sencha Touch [2] michael@10: Dojo Toolkit [3] michael@10: Phonegap Toolkit [4] michael@10: Common requirements michael@10: michael@10: Constraints michael@10: Performance michael@10: Hardware michael@10: API michael@10: michael@10: Case studies michael@10: Well known mobile apps michael@10: michael@10: Demonstration (10 minutes) michael@10: -------------------------- michael@10: Hello world in HTML5 for browser michael@10: Package to app manually michael@10: Use Phonegap to prepare distribution michael@10: Extend hello world to process user input michael@10: Using jQuery Mobile michael@10: Using Sencha Touch michael@10: Using Dojo Toolkit michael@10: Automated repackaging michael@10: Submit to market michael@10: michael@10: Questions (5 minutes) michael@10: --------------------- michael@10: Anticipated questions michael@10: What is a general rule when considering cross-platform frameworks? michael@10: Where do you find a list of supported features for a given framework? michael@10: michael@10: Relevant jokes about... michael@10: ----------------------- michael@10: Android and Linux michael@10: Engineers and developers michael@10: michael@10: Glossary michael@10: -------- michael@10: Application Programming Interface (API) michael@10: Software Development Kit (SDK) michael@10: Framework michael@10: World Wide Web Consortium (W3C) michael@10: Structured Vector Graphics (SVG) michael@10: Hypertext Markup Language (HTML) michael@10: Hypertext Transfer Protocol (HTTP) michael@10: Cascading Stylesheets (CSS) michael@10: JavaScript - Casual name for the ECMAScript language, prevelant in michael@10: client-side web applications and standardized in ISO/IEC 16262. michael@10: International Organization for Standards (ISO) michael@10: Ecma International michael@10: michael@10: Errata michael@10: ------ michael@10: Errata here. michael@10: michael@10: Lecture materials michael@10: ----------------- michael@10: This lecture is developed on a public source code revision management michael@10: system [6]. It is (or will be) published on a public file server [7]. michael@10: michael@10: Technical requirements michael@10: ---------------------- michael@10: A WLAN connection (for remote slide advancement,) internet connectivity michael@10: (for demonstration purposes,) and a whiteboard (to sketch diagrams) are michael@10: needed for this presentation. michael@10: michael@10: Links and notes michael@10: --------------- michael@10: [1] http://jquerymobile.com/ michael@10: [2] http://www.sencha.com/products/touch/ michael@10: [3] http://dojotoolkit.org/ michael@10: [4] http://phonegap.com/ michael@10: [5] http://scm.europalab.com/lectures/ michael@10: [6] ftp://ftp.europalab.com/pub/doc/lect/