===== Software Environment and Design for Mobile Devices and their software specificities (PLIM) ===== ===== Acquired Competences ===== * Knowledge and Compentences on software design and development for mobile devices with the most current approaches to do that (four levels from Web App to Native App, on the popular solution the market (Android, IoS, Xamarin, Cordova, ...) * Knowledge of the different specificities of the software design and development for mobile devices (Mobile phone, Tablet, Smart Watch, Smart TV, Head mounted display, ...) * Competences to adress these specificities with the most of the software design and development for Mobile Devices ==== PART 1 : Software specificities for Mobile Device Development and Design ==== Today, lot of software frameworks and intergrated development environment are provided to design, develop and deploy Mobile Devices applications. Most of them are proposed to simplify the development on such targets and reduce the time to market for applications. Different kinds of software frameworks and environment at different levels are : * Web Application (ex. responsive design with CSS3/HTML5) and limitations * Hybrid Application (ex. cordova) and limitations * Cross-developped Application (ex. xamarin) and limitations * Native Application (ex android, IoS) Because of your background the first part of this module focus on new software platforms and environment for you. Thus, Android knowledge will be more or less acquired while IoS will considered as totally new ! At the end of this first part, you'll be considered to be able to use any kind of software development plateform at each of the four levels above. ==== PART 2 : Specific Problems for Mobile Device Development and Design ==== In this second part will address generic topics that are Mobile Device Development and Design specificities. For each of these topics, we'll analyse how their adress (if they are) at each level defined above with various frameworks. Topics are : * power consumption control is software architecture * intermittent connection and cache managment * ... ==== Pedagogical Approach : Project based ==== One project during the module allows to implement your skills. * You define your topic. * You choose your Framework according to the level of limitations you can accept * You add incrementaly some features in your project to address the specificities of the Mobile Devices like seen in part 2