2008-10-16 7 views
4

Je voudrais développer une application mobile capable d'accéder à toutes les fonctionnalités de l'appareil mobile sur lequel elle fonctionne (caméra, fichiers, téléphone et connectivité réseau). J'ai l'intention de construire une série d'applications qui ont chacune une fonction spécifique à exécuter, plutôt qu'une seule application avec un grand ensemble de fonctionnalités. Mon arrière-plan de programmation est C, C# et les applications Web.Meilleur outil de développement d'applications mobiles/environnement?

Quel serait le meilleur ensemble d'outils à utiliser pour ce faire? J'ai regardé en utilisant le NetBeansIDE pour créer des applications Java ME en utilisant LWUIT - cela semble prometteur, mais quelles sont les mises en garde?

Je veux cibler le plus grand univers d'appareils mobiles possible.

Répondre

5

J2ME est la voie à suivre pour atteindre les masses, dans le marché des consommateurs ou des entreprises. Du point de vue du consommateur, la plupart des téléphones portables dans le monde prennent en charge J2ME. D'un point de vue commercial, la plupart des téléphones intelligents dans le monde prennent en charge J2ME.

Nokia détient 40% du marché des téléphones intelligents (et de l'ensemble du marché) dans le monde entier. Le suivant en ligne est Blackberry avec une part de 13%. Les deux ont des implémentations standard de J2ME sur leurs appareils (bien que Blackberry possède également une version propriétaire de Java). De plus, la plupart des appareils fonctionnant sous Windows Mobile sont également équipés d'une JVM (j'ai récemment développé un jeu qui ciblait initialement le Sony Ericsson W810i et fonctionnait sans problème sur la JVM de mon HTC Tilt). Ajoutez-y le fait qu'Android a un SDK Java et que le seul segment qui vous manque vraiment sont les téléphones BREW only et l'iPhone.

Je ne suis pas un gros bailleur de J2ME. Je sais simplement que toutes les autres plateformes mobiles ont disparu de ma vie au cours des trois dernières années, car il est logique que les entreprises ne ciblent que le segment J2ME de l'industrie.

1

Si votre objectif principal est d'atteindre le marché de consommation, Java 2 Micro Edition (J2ME) est probablement votre meilleur pari. Tous les téléphones mobiles populaires (de Nokia, Sony Ericsson, Samsung) sont livrés avec une machine virtuelle Java installée. Si vous regardez Google, par exemple, ils développent toutes leurs applications mobiles (comme Gmail et Google Maps) en Java.

Si vous ciblez plutôt clients d'affaires, le Microsoft .NET Compact Framework est la voie à suivre à mon avis. Le système d'exploitation Windows Mobile détient une position forte sur le marché des affaires, principalement en raison de Outlook Mobile et de son intégration avec Exchange.

+0

les clients d'affaires utilisent la mûre en grande partie. – pmlarocque

+0

Je suppose que cela dépend de la partie du monde dont vous parlez. En Europe du Nord, par exemple, Windows Mobile est la plate-forme mobile de choix de Sony Ericsson pour le marché des entreprises. –

3

Vous êtes confronté au problème principal habituel du développement mobile: cibler autant de combinés que possible avec un seul langage de programmation signifie utiliser J2ME, ce qui ne vous donne pas tout à fait accès à toutes les fonctionnalités du combiné.

La plupart des combinés ouverts prennent en charge J2ME, mais différents fabricants de téléphones l'implémentent de différentes manières et la fragmentation est énorme à travers la carte. Malheureusement, la majorité des combinés ouverts (ceux où vous pouvez installer des applications tierces) vous permettent uniquement de développer en J2ME

La seule bonne nouvelle est que votre intention de n'écrire que de petites applications apportera un grand soulagement des problèmes de fragmentation . J2ME a également d'énormes limitations en termes d'accès au système de fichiers, absence totale d'API de téléphonie, très mauvaise interaction avec la gestion des applications système ...Afin d'obtenir toutes les fonctionnalités, vous devez toujours utiliser la technologie native de la plate-forme ouverte que vous ciblez, qu'il s'agisse d'Android, d'iPhone, de plusieurs variantes de combinés Symbian OS, Brew, Windows Mobile ou Palm OS. Chacun d'eux a sa propre technologie native.

Rédaction de votre application plusieurs fois dans de nombreuses langues différentes au prix coûtant de vouloir à la fois un grand nombre de combinés ciblés et l'accès aux fonctionnalités complètes de chacun d'eux. Je suis un vétéran de Symbian/J2ME moi-même et, compte tenu de vos antécédents et objectifs, je soupçonne que vous essayez d'en apprendre davantage sur les technologies mobiles. Je vais donc brancher sans vergogne mon livre, qui est conçu comme une introduction dans l'écosystème de développement Symbian:

http://www.amazon.com/Quick-Recipes-Symbian-Smartphone-Development/dp/0470997834/

Bonne chance

-1

Je suis en désaccord avec Fostah.

Si vous voulez atteindre les masses, le Web est votre meilleur pari. Il est beaucoup plus facile d'écrire une application Web simple qui fonctionnera sur des millions d'appareils.

Et le meilleur bit est que vous pouvez facilement mettre à jour votre application et améliorer l'expérience utilisateur tous les jours avec le Web.

+0

Votre réponse à cette question est incorrecte. Vous ne répondez pas aux besoins indiqués. Lisez sa première phrase, ces choses ne peuvent pas être faites avec une application web. Deuxièmement, le Web mobile n'a pas atteint les masses, car beaucoup n'ont pas le dispositif haut de gamme ou le plan de données pour cela. – Fostah

+0

Ces choses peuvent être faites avec une application Web avec un plugin C NPAPI. – hendry

Questions connexes