Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles

Ces travaux de thèse visent à diminuer le coût de développement des applications mobilespour smartphones Android, iOS, etc. Les applications mobiles sont de plus en plus complexes. Auparavant, une application mobile se contentait d’afficher des données provenant du web. Maintenant, en plus de cela,...

Full description

Bibliographic Details
Main Author: Perchat, Joachim
Other Authors: Valenciennes
Language:fr
Published: 2015
Subjects:
Online Access:http://www.theses.fr/2015VALE0006/document
id ndltd-theses.fr-2015VALE0006
record_format oai_dc
collection NDLTD
language fr
sources NDLTD
topic Développement mobile multiplateforme
Programmation par composants
Composants multiplateformes
Assemblage
Langage commun
Compilateur source-À-Source.
Cross-Platform mobile development
Component-Based development
Cross-Platform components
Assembly language
Common programming language
Source-To-Sourcecompiler.

spellingShingle Développement mobile multiplateforme
Programmation par composants
Composants multiplateformes
Assemblage
Langage commun
Compilateur source-À-Source.
Cross-Platform mobile development
Component-Based development
Cross-Platform components
Assembly language
Common programming language
Source-To-Sourcecompiler.

Perchat, Joachim
Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles
description Ces travaux de thèse visent à diminuer le coût de développement des applications mobilespour smartphones Android, iOS, etc. Les applications mobiles sont de plus en plus complexes. Auparavant, une application mobile se contentait d’afficher des données provenant du web. Maintenant, en plus de cela, elles communiquent avec le monde extérieur. Par exemple, certaines applications communiquent avec des montres, avec des écrans de télévision etc. D’autres permettent le scan de codes barres ou encore l’interaction avec des objets réels à travers la réalité augmentée. Les serveurs peuvent envoyer des notifications aux applications, etc. Une application mobile est devenue un logiciel à part entière. Cependant, pour toucher un maximum d’utilisateurs de smartphones, les applications mobiles doivent être conçues, implémentées et déployées sur tous les smartphones possibles. Avec la multiplication des configurations matérielles différentes ainsi que la multiplication des systèmes d’exploitation mobiles, cette tâche devient de plus en plus ardue. En effet, une application mobile doit souvent être réalisée une fois pour chaque plate-forme cible (Android, iOS, Windows Phone 8, etc.). Le temps et le coût de réalisation d’applications mobiles est donc multiplié par le nombre de plates-formes ciblées. Dans ces travaux, nous proposons de combiner le développement natif avec la programmation par composants. Pour ce faire, nous introduisons la notion de composants multiplateformes. Ce sont des composants qui peuvent être exécutés sur plusieurs plates-formes mobiles. Pour la représentation des composants, nous avons introduit la notion d’interface indépendante à n’importe quelle plate-forme mobile. Ainsi, l’intégration et l’assemblage se font d’une façon unique, que l’on soit dans un environnement de développement Android, iOS ou autre. Pour ce faire, nous avons spécifié un nouveau langage de programmation basé sur les annotations. Cette approche a été validée à travers le développement d’une application mobile pour Android et iOS avec notre solution. L’application implémentée a été réalisée en concordance avec les problématiques que rencontrent les entreprises de développement mobile et plus particulièrement Keyneosoft. Ensuite, nous avons comparé ces versions de l’application avec les versions développées nativement. Nous avons montré qu’avec notre solution nous diminuons le temps de développement d’au moins 30% sans aucune limitation pour les développeurs d’applications (même expérience utilisateur, même performance). Nous avons aussi comparé notre solution avec des produits disponibles sur le marché Phonegap, Titanium mobile et Xamarin. Nous en avons conclu que notre solutiton offrait le plus de possibilités sans aucune limitation. === In this thesis, we aim to decrease the development cost of applications for smartphones running Android, iOS, etc. Mobile applications are more and more complex. A few year ago, a mobile application was only design to display web content. Today, in addition, they are connected with the external world. For example, some applications are connected with watches, TVs, etc. Mobile applications became real softwares. However, in order to be visible by all smartphones users, mobile applications are designed, developed and deployed on every kind of smartphone. With the increase of the multiplicity of hardware configurations and the diversity of mobile operating systems, this task is becoming more and more laborious. Indeed, a mobile application is often implemented one time for each target platform (Android, iOS, Windows Phone 8, etc.). Therefore, the time and the cost for a mobile application implementation is multiplied by the number of target platforms. In this thesis, we propose to combine native development with the advantages of component-based software engineering. To do that, we have introduced the concept of multiplatform components. Those components are capable to be executed on any mobile platform. In order to describe components, we have introduced interfaces that are independent of any mobile platform. Thus, component integration and assembly are common on Android, iOS and others systems. To achieve that, we have specified a new programming language based on Annotations. We have validated this approach with the implementation of a real mobile application for Android and iOS. We have compared this application with the same application developed natively. Results show that with our solution, developers implement a multiplatform application 30% faster than native development. Moreover, our solution does not show any limitation for developers (same user experience, same performances). Finally, we have compared our solution with real products available on the software market: Phonegap, Titanium mobile and Xamarin. This comparison illustrates that our solution provides the best features and does not limit developers possibilities.
author2 Valenciennes
author_facet Valenciennes
Perchat, Joachim
author Perchat, Joachim
author_sort Perchat, Joachim
title Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles
title_short Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles
title_full Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles
title_fullStr Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles
title_full_unstemmed Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles
title_sort composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles
publishDate 2015
url http://www.theses.fr/2015VALE0006/document
work_keys_str_mv AT perchatjoachim composantsmultiplateformespourlapriseencomptedelheterogeneitedesterminauxmobiles
AT perchatjoachim crossplatformcomponentstomanagetheheterogenityofmobiledevices
_version_ 1719308932218880000
spelling ndltd-theses.fr-2015VALE00062020-01-17T03:24:32Z Composants multiplateformes pour la prise en compte de l'hétérogénéité des terminaux mobiles Cross-platform components to manage the heterogenity of mobile devices Développement mobile multiplateforme Programmation par composants Composants multiplateformes Assemblage Langage commun Compilateur source-À-Source. Cross-Platform mobile development Component-Based development Cross-Platform components Assembly language Common programming language Source-To-Sourcecompiler. Ces travaux de thèse visent à diminuer le coût de développement des applications mobilespour smartphones Android, iOS, etc. Les applications mobiles sont de plus en plus complexes. Auparavant, une application mobile se contentait d’afficher des données provenant du web. Maintenant, en plus de cela, elles communiquent avec le monde extérieur. Par exemple, certaines applications communiquent avec des montres, avec des écrans de télévision etc. D’autres permettent le scan de codes barres ou encore l’interaction avec des objets réels à travers la réalité augmentée. Les serveurs peuvent envoyer des notifications aux applications, etc. Une application mobile est devenue un logiciel à part entière. Cependant, pour toucher un maximum d’utilisateurs de smartphones, les applications mobiles doivent être conçues, implémentées et déployées sur tous les smartphones possibles. Avec la multiplication des configurations matérielles différentes ainsi que la multiplication des systèmes d’exploitation mobiles, cette tâche devient de plus en plus ardue. En effet, une application mobile doit souvent être réalisée une fois pour chaque plate-forme cible (Android, iOS, Windows Phone 8, etc.). Le temps et le coût de réalisation d’applications mobiles est donc multiplié par le nombre de plates-formes ciblées. Dans ces travaux, nous proposons de combiner le développement natif avec la programmation par composants. Pour ce faire, nous introduisons la notion de composants multiplateformes. Ce sont des composants qui peuvent être exécutés sur plusieurs plates-formes mobiles. Pour la représentation des composants, nous avons introduit la notion d’interface indépendante à n’importe quelle plate-forme mobile. Ainsi, l’intégration et l’assemblage se font d’une façon unique, que l’on soit dans un environnement de développement Android, iOS ou autre. Pour ce faire, nous avons spécifié un nouveau langage de programmation basé sur les annotations. Cette approche a été validée à travers le développement d’une application mobile pour Android et iOS avec notre solution. L’application implémentée a été réalisée en concordance avec les problématiques que rencontrent les entreprises de développement mobile et plus particulièrement Keyneosoft. Ensuite, nous avons comparé ces versions de l’application avec les versions développées nativement. Nous avons montré qu’avec notre solution nous diminuons le temps de développement d’au moins 30% sans aucune limitation pour les développeurs d’applications (même expérience utilisateur, même performance). Nous avons aussi comparé notre solution avec des produits disponibles sur le marché Phonegap, Titanium mobile et Xamarin. Nous en avons conclu que notre solutiton offrait le plus de possibilités sans aucune limitation. In this thesis, we aim to decrease the development cost of applications for smartphones running Android, iOS, etc. Mobile applications are more and more complex. A few year ago, a mobile application was only design to display web content. Today, in addition, they are connected with the external world. For example, some applications are connected with watches, TVs, etc. Mobile applications became real softwares. However, in order to be visible by all smartphones users, mobile applications are designed, developed and deployed on every kind of smartphone. With the increase of the multiplicity of hardware configurations and the diversity of mobile operating systems, this task is becoming more and more laborious. Indeed, a mobile application is often implemented one time for each target platform (Android, iOS, Windows Phone 8, etc.). Therefore, the time and the cost for a mobile application implementation is multiplied by the number of target platforms. In this thesis, we propose to combine native development with the advantages of component-based software engineering. To do that, we have introduced the concept of multiplatform components. Those components are capable to be executed on any mobile platform. In order to describe components, we have introduced interfaces that are independent of any mobile platform. Thus, component integration and assembly are common on Android, iOS and others systems. To achieve that, we have specified a new programming language based on Annotations. We have validated this approach with the implementation of a real mobile application for Android and iOS. We have compared this application with the same application developed natively. Results show that with our solution, developers implement a multiplatform application 30% faster than native development. Moreover, our solution does not show any limitation for developers (same user experience, same performances). Finally, we have compared our solution with real products available on the software market: Phonegap, Titanium mobile and Xamarin. This comparison illustrates that our solution provides the best features and does not limit developers possibilities. Electronic Thesis or Dissertation Text fr http://www.theses.fr/2015VALE0006/document Perchat, Joachim 2015-01-08 Valenciennes Lecomte, Sylvain Desertot, Mikaël