Développement cross plate-forme d'application mobile
De plus en plus et les plates-formes mobiles sont en cours de lancement et sdk sont disponibles pour les développeurs. Il existe plusieurs plate-forme mobile sont disponibles:
Android, iOS, Moblin, Windows mobile 7, RIM, symbian, bada, maemo, etc.
Et en faisant de la croix-plate-forme d'application est des maux de tête pour les développeurs. Je suis à la recherche de choses en commun sur les plates-formes qui vont de l'aide pour les développeurs qui souhaitent port d'applications pour toutes les plateformes. Comme ce sont des diff résolutions d'écran, les méthodes de saisie, open gl soutien, etc.
merci de partager les détails que vous connaissez pour l'un de plate-forme.
Ou il y a des possibilités, par l'écriture de code html (type de widget de chose) et de les charger dans l'application native.
Je sais que sur android, dans lequel nous pouvons ajouter de la vue web en application en appelant setContentView(view)
S'il vous plaît partager la classe de détails que l'on peut ajouter l'affichage html dans l'application native de différents types de plates-formes que vous connaissez.
But de ce thread est de partager des détails commun à travers les développeurs. marquage de la communauté wiki.
De la croix-plate-forme des outils & bibliothèque
-
XMLVM, Un Nom De Code et iSpectrum (cross compiler du code Java à partir d'une application Android ou d'en créer un à partir de zéro
-
Phone Gap (croix-plate-forme d'applications mobiles)
-
De titane (pour construire mobiles natives et les applications de bureau avec des technologies web)
-
Mono Touch ( C# pour l'iphone )
-
rhomobile - http://rhomobile.com/
les échantillons sont ici: http://github.com/rhomobile/rhodes-system-api-samples -
Sencha Touch - Sencha Touch est un HTML5 mobile app framework qui permet de développer des applications web qui look and feel natif sur iOS d'Apple et Android de Google les appareils à écran tactile. http://www.sencha.com/products/touch/
-
Corona - Iphone/Ipad /Android application multi-plateforme de la bibliothèque . Trop génial.
http://anscamobile.com/corona/ -
Un guide à port existant Android app Windows Phone 7
http://windowsphone.interoperabilitybridges.com/articles/windows-phone-7-guide-for-iphone-application-developers - Jquery MobileOptimisée pour l'interaction tactile Framework Web pour les Smartphones & les Tablettes
- Alors que je trouve un sujet intéressant qui est liée à celui-ci, stackoverflow.com/questions/3326110/...
- un autre bon post à propos de la croix-plate-forme de dev: stackoverflow.com/questions/51988/...
- A voté la fermeture de cette comme un doublon. C'est trop important pour séparer deux questions. stackoverflow.com/questions/51988/...
- J'ai récemment blogué sur ce stronia.com/2014/05/building-cross-platform-mobile-apps.html
Vous devez vous connecter pour publier un commentaire.
Ma réponse ici couvre certaines des limitations techniques de la croix-platfrom outils mais permettez-moi de développer un peu plus:
Je pense que les outils de plate-forme ont historiquement toujours été perdants parce que ces outils ont le mauvais philosophique se concentrer.
Tous les points de vente pour le cross-platforme outils sont les avantages qu'ils apportent à développeurs. Ils sont vendus sur l'idée qu'ils permettent de développeurs à écrire-une fois-run-n'importe où. Ils sont vendus sur l'idée qu'ils permettent de développeurs à élargir leur marché sans avoir à apprendre de nouvelles Api. Ils sont vendus sur l'idée qu'ils permettent de développeurs à sabrer dans les coûts et les délais de commercialisation.
Ce cross-platforme de l'outil sont PAS vendus sur est le bénéfice qu'ils apportent aux utilisateurs finaux.
Avantage pour l'utilisateur final n'est pas un argument de vente, car la croix-plate-forme de développement est rarement un avantage pour l'utilisateur final. L'utilisateur final ne se soucie pas comment dur le développeur a dû travailler pour amener le produit sur le marché. Ils ne vous préoccuper du nombre de plates-formes, l'application peut s'exécuter sur quand ils ne l'utilisent pas, mais une plate-forme. Ils ont juste des soins si l'application ne ce dont ils ont besoin sur le matériel dont ils ont besoin pour exécuter sur. À moins d'avoir un besoin spécifique pour exécuter l'application sur plusieurs plateformes différentes, le fait qu'il ne leur apporte pas de valeur.
À l'inverse, les compromis à faire une croix-plate-forme API signifie que toutes les applications créées par l'API sera, au mieux, de grade B sur chaque plate-forme. Ils ne seront jamais le meilleur outil à utiliser sur chaque plate-forme.
Tout cela signifie que dans la plupart des cas d'utilisation, de la croix-plate-forme d'outils de donner à l'utilisateur final un produit de qualité inférieure par rapport à celles faites avec plate-forme Api spécifiques. L'utilisateur aura toujours un meilleur choix.
Vous faire de l'argent dans le long terme en donnant aux utilisateurs les outils les plus utiles. Si vous n'avez pas philosophiquement à se concentrer sur la prise de l'utilisateur plus facile et plus productif, vous êtes assez bien voué à l'échec dès le départ. Les utilisateurs finaux ont beaucoup de choix et si votre outil n'est pas un des meilleurs, vous ne voulez pas faire dans le marché.
Vous ne devez utiliser de la croix-plate-forme d'outils si vous pensez, "les utilisateurs de profiter réellement de l'exécution de cette application sur plusieurs plateformes différentes." Si vous commencez à regarder la croix-plate-forme d'outils uniquement parce qu'ils feront de votre (les développeurs) la vie plus facile, alors vous avez choisi pour les mauvaises raisons, et ils vont vous faire du mal plus que ce qu'ils vous aideront.
Il existe plusieurs approches de développement cross plate-forme sur les appareils mobiles. Bien sûr, ils ont tous des limites. Aucune solution ne parvient à profiter de toutes les fonctionnalités de l'appareil au moyen d'une application native peut.
De ré-utilisation du code
Alors que tous les OS mobile de ne pas utiliser le même langage de développement et de l'API, vous pouvez parfois de la part de certaines classes ou de logique, niveau code.
C++, par exemple, peut probablement être ré-utilisé pour une application iOS, pour une application Android en utilisant le NDK, pour un Symbian application, car ils sont développés en C++, etc.
Certaines solutions offrent également la possibilité d'écrire l'application dans une autre langue que celle normalement utilisée par l'appareil. La plus célèbre (en fait le seul que je connais) sont commerciaux et sur la base des Mono projet (développement C#):
Mais je ne suis pas sûr que l'on peut vraiment appeler cela de la croix-plate-forme de développement depuis la réutilisation de code est limité en fonction du périphérique :
Et l'INTERFACE utilisateur de la partie aussi des séjours spécifiques à chaque appareil.
Développement Web
Régulièrement réponse quand on parle de la croix-plate-forme de développement pour les mobiles est en développement web. Nous aurions alors besoin d'une cape, qui va utiliser le navigateur mobile, pour le faire paraître et de se comporter comme une application native. C'est ainsi que certains de la croix-plate-forme de cadre que nous allons voir plus sur le travail.
La montée de l'HTML5 apporte du développement web, des fonctionnalités qui ne peut être fait avec une application native comme la géolocalisation, les applications, le stockage local.
On peut trouver de plus en plus et cadres à développer une application web pour les mobiles avec une interface native en profitant des derniers standards du web HTML5, CSS3, Js:
Mais HTML5 est encore très jeune et la mise en œuvre peuvent varier d'un navigateur à l'autre. La plupart des navigateurs mobiles utilisez le moteur WebKit (principale exception étant Windows mobile/téléphone à l'aide de Internet Explorer) et même si ils n'ont pas nécessairement prendre en charge les mêmes fonctionnalités. Base de données locale est toujours gênant de travailler avec et nous ne pouvons pas être sûr de savoir comment il va en œuvre par les différents navigateurs. En outre, même avec HTML5, web développement est encore très limitée par rapport à une application native. Vous ne pouvez pas accéder à vos contacts, appareil photo, accéléromètre, etc.
Edit: plus Tôt ce mois-ci, le W3C, ont livré quelques mises en garde à propos de l'évolution de HTML5: L'Article de ZDNet
Aussi, elle ne pourra convenir à une catégorie limitée d'applications.
De la croix-plate-forme des cadres
Et que nous avons les applications mobiles multi-plateforme des cadres. Avec lequel vous pouvez probablement développer une fois et de les déployer sur les différentes plates-formes. Ces solutions se concentrent généralement sur iOS et Android et de s'appuyer sur le moteur WebKit. Ils offrent une plus grande interaction avec le téléphone fonctionnalités en cours de développement avec des technologies web. Les plus connus sont Nitobi PhoneGap, RhoMobile Rhodes, Appcelerator Titanium. Mais beaucoup d'autres sont là et n'utilisent pas tous la même technique que pour les MoSync qui traduisent votre code pour son propre langage intermédiaire avant de le compiler pour la plate.
[ 1 ]
Rappelez-vous que Apple a une politique spéciale sur les applications écrites pour leur plate-forme. Ils ne semblent pas être le blocage de ces applications à cette date, mais c'est une information qui doit être pris en compte.Edit: Apple a changé cette politique depuis le 9 septembre.
Vous obtenez quelques points communs lors du déploiement d'une application web (html5 comme mentionné ci-dessus), mais pour les riches applications natives de l'Api sont complètement différentes pour les différents smartphones.
HTML5 peut améliorer les choses un peu, mais à faire des choses intéressantes, vous devez aller natif.
Il y a des " croix de la plate-forme smartphone cadres comme Phonegap mais j'ai entendu de mauvaises choses sur l'utilisation d'un "vrai" travail. (beaucoup de frais généraux, etc)
Oui, html5 est d'obtenir une certaine attention. Vous devriez aussi regarder ce consortium & plate-forme pour venir en T4.
Pas sûr de la réussite de ce projet, comme il sonne comme un défi énorme, mais voici plus de détails:
Site web:
http://www.wholesaleappcommunity.com/default.aspx
News:
http://news.google.de/news/search?aq=f&pz=1&cf=all&ned=us&hl=en&q=%22Wholesale+Applications+Community%22
.
Pour autant que je sais que la plupart de ces appareils sont en mesure de l'exécuter:
Java - MOI-le Plus Omniprésent de la Plateforme d'Applications pour les Appareils Mobiles
Je pense que cela peut servir à la fois de bons et de mauvais exemple.