Mon, 07 May 2012 23:15:17 +0200
Add Enyo framework following discussion with Eva BRUCHERSEIFER.
michael@10 | 1 | Mobile Cross-platform Development Frameworks |
michael@10 | 2 | Type: Lecture/presentation |
michael@10 | 3 | Category: Engineering/development |
michael@10 | 4 | Topic: Networking/Internals/Implementation choices |
michael@10 | 5 | Audience: Android application developers |
michael@10 | 6 | Duration: 30 minute presentation |
michael@10 | 7 | |
michael@10 | 8 | Author and Speaker |
michael@10 | 9 | ------------------ |
michael@10 | 10 | Michael Schloh von Bennewitz |
michael@10 | 11 | Software Engineer, Europalab Networks |
michael@10 | 12 | web: http://michael.schloh.com/ |
michael@10 | 13 | email: michael@schloh.com |
michael@10 | 14 | isdn: +49(89)44239885 |
michael@10 | 15 | voip: sips:michael@schloh.com |
michael@10 | 16 | xmpp: MSvB |
michael@10 | 17 | |
michael@10 | 18 | Biography |
michael@10 | 19 | --------- |
michael@10 | 20 | Michael Schloh von Bennewitz is a computer scientist specializing in |
michael@10 | 21 | network software, mobile computing, and client server design. He speaks |
michael@10 | 22 | at technical events every year. In 2011 he gave two presentations on |
michael@10 | 23 | MeeGo to the Opensource Treffen as well as presentations on LDAP |
michael@10 | 24 | integration strategies and the Qt library build process to fellow |
michael@10 | 25 | developers at the Nokia Developer Summit in Berlin. His speaking style |
michael@10 | 26 | is humerous, using gestures and good eye contact. He walks about the |
michael@10 | 27 | room and writes presentations in SVG or HTML5. |
michael@10 | 28 | |
michael@10 | 29 | Abstract |
michael@10 | 30 | -------- |
michael@10 | 31 | With cross-platform mobile development frameworks like jQuery, Dojo, and |
michael@10 | 32 | Sencha, developers enjoy the ability to write an application for several |
michael@10 | 33 | APIs. Particularly of benefit to Android developers is the smooth |
michael@10 | 34 | transition between API versions as well as reduced porting work. |
michael@10 | 35 | |
michael@10 | 36 | Many developers write Java code strictly for the Android OS. It may |
michael@10 | 37 | surprise them to know that for many applications a similar workload |
michael@10 | 38 | writing HTML code results in a functionally similar APK package. |
michael@10 | 39 | Concrete benefits are considered as well as limits to this strategy. |
michael@10 | 40 | Requirements, implementation choices, and distribution using Phonegap |
michael@10 | 41 | are considered. |
michael@10 | 42 | |
michael@10 | 43 | The audience consists of developers familiar with the traditional |
michael@10 | 44 | development lifecycle of Android applications. Attendants expect a |
michael@10 | 45 | clearly defined workflow of using trendy cross-platform frameworks and |
michael@10 | 46 | pro and contra criteria for considering them along with abstract proof |
michael@10 | 47 | (provided in a demonstration) of concept. |
michael@10 | 48 | |
michael@10 | 49 | The Android community stands to benefit from being informed about |
michael@10 | 50 | current trends in cross-platform mobile development frameworks as many |
michael@10 | 51 | developers suffer the stumbling block of porting and supporting |
michael@10 | 52 | applications. |
michael@10 | 53 | |
michael@10 | 54 | Please see the file attachment for a lecture outline. |
michael@10 | 55 | |
michael@10 | 56 | Main chapters (15 minutes) |
michael@10 | 57 | -------------------------- |
michael@10 | 58 | Concepts |
michael@12 | 59 | Portable development |
michael@12 | 60 | Standardized API |
michael@12 | 61 | Work flows |
michael@12 | 62 | Platform dependent development |
michael@12 | 63 | Cross platform development |
michael@12 | 64 | HTML5/CSS3/Javascript architecture |
michael@12 | 65 | Runtime process support |
michael@10 | 66 | |
michael@10 | 67 | Frameworks |
michael@10 | 68 | JQuery Mobile [1] |
michael@10 | 69 | Sencha Touch [2] |
michael@10 | 70 | Dojo Toolkit [3] |
michael@10 | 71 | Phonegap Toolkit [4] |
michael@10 | 72 | Common requirements |
michael@10 | 73 | |
michael@10 | 74 | Constraints |
michael@10 | 75 | Performance |
michael@10 | 76 | Hardware |
michael@10 | 77 | API |
michael@10 | 78 | |
michael@10 | 79 | Case studies |
michael@10 | 80 | Well known mobile apps |
michael@10 | 81 | |
michael@10 | 82 | Demonstration (10 minutes) |
michael@10 | 83 | -------------------------- |
michael@10 | 84 | Hello world in HTML5 for browser |
michael@10 | 85 | Package to app manually |
michael@10 | 86 | Use Phonegap to prepare distribution |
michael@10 | 87 | Extend hello world to process user input |
michael@10 | 88 | Using jQuery Mobile |
michael@10 | 89 | Using Sencha Touch |
michael@10 | 90 | Using Dojo Toolkit |
michael@10 | 91 | Automated repackaging |
michael@10 | 92 | Submit to market |
michael@10 | 93 | |
michael@10 | 94 | Questions (5 minutes) |
michael@10 | 95 | --------------------- |
michael@10 | 96 | Anticipated questions |
michael@10 | 97 | What is a general rule when considering cross-platform frameworks? |
michael@10 | 98 | Where do you find a list of supported features for a given framework? |
michael@10 | 99 | |
michael@10 | 100 | Relevant jokes about... |
michael@10 | 101 | ----------------------- |
michael@10 | 102 | Android and Linux |
michael@10 | 103 | Engineers and developers |
michael@10 | 104 | |
michael@10 | 105 | Glossary |
michael@10 | 106 | -------- |
michael@10 | 107 | Application Programming Interface (API) |
michael@10 | 108 | Software Development Kit (SDK) |
michael@10 | 109 | Framework |
michael@10 | 110 | World Wide Web Consortium (W3C) |
michael@10 | 111 | Structured Vector Graphics (SVG) |
michael@10 | 112 | Hypertext Markup Language (HTML) |
michael@10 | 113 | Hypertext Transfer Protocol (HTTP) |
michael@10 | 114 | Cascading Stylesheets (CSS) |
michael@10 | 115 | JavaScript - Casual name for the ECMAScript language, prevelant in |
michael@10 | 116 | client-side web applications and standardized in ISO/IEC 16262. |
michael@10 | 117 | International Organization for Standards (ISO) |
michael@10 | 118 | Ecma International |
michael@10 | 119 | |
michael@10 | 120 | Errata |
michael@10 | 121 | ------ |
michael@10 | 122 | Errata here. |
michael@10 | 123 | |
michael@10 | 124 | Lecture materials |
michael@10 | 125 | ----------------- |
michael@10 | 126 | This lecture is developed on a public source code revision management |
michael@10 | 127 | system [6]. It is (or will be) published on a public file server [7]. |
michael@10 | 128 | |
michael@10 | 129 | Technical requirements |
michael@10 | 130 | ---------------------- |
michael@10 | 131 | A WLAN connection (for remote slide advancement,) internet connectivity |
michael@10 | 132 | (for demonstration purposes,) and a whiteboard (to sketch diagrams) are |
michael@10 | 133 | needed for this presentation. |
michael@10 | 134 | |
michael@10 | 135 | Links and notes |
michael@10 | 136 | --------------- |
michael@10 | 137 | [1] http://jquerymobile.com/ |
michael@10 | 138 | [2] http://www.sencha.com/products/touch/ |
michael@10 | 139 | [3] http://dojotoolkit.org/ |
michael@10 | 140 | [4] http://phonegap.com/ |
michael@10 | 141 | [5] http://scm.europalab.com/lectures/ |
michael@10 | 142 | [6] ftp://ftp.europalab.com/pub/doc/lect/ |