Est-il un moyen de développer de véritables mobiles NATIVES de la croix-plate-forme des applications sans emballage des choses?
J'essaie de trouver un moyen de développer de véritables applications mobiles natives, de la croix-plate-forme. Le montant des outils que j'ai trouvé est vaste, très vaste.
Tous les outils que j'ai essayé", a déclaré " que le résultat final sera natif, mais en fait, il n'est pas vrai. C'est un exécutable avec un webbrowser dans il et un supplément de couche indigène/framwork de l'appareil caractéristiques spécifiques.
La raison pour laquelle je veux un vrai application native est:
- Vitesse et compact
- Éviter les problèmes de navigateur
- L'acceptation par le marché
- Éviter facile/"script kiddie" reverse engineering
Les produits que j'ai essayé:
- Appcelerator (ne fonctionne pas correctement sur mon système)
- PhoneGap (ne pas créer de VÉRITABLES applications natives)
- Embarcadero radPHP EX2 (utiliser PhoneGap)
- Embarcadero radStudio EX2 (ne peut pas créer de mobile/applications android?)
- Adobe Flash Builder (Fonctionne très bien, mais s'appuie sur de l'Air, les applications sont énormes et pas de
natif de dispositifs tels que les vibrations (possible, mais doit l'écrire
vous-même) - Flash Développer (mais même comme Adobe Flash Builder)
- ..... et quelques autres 😉 comme moSync......
Actuellement, j'ai téléchargé "RhoStudio", mais a des doutes à ce sujet parce que dans la vidéo d'introduction, ils parlent de choses que je ne veux pas.
Cible les directions sont, en premier lieu, Android, iOS et peut-être dans l'avenir de Windows Phone.
Note: je n'ai pas de Mac donc je ne peux pas le compiler sur un Mac.
Est ce que je veux est impossible ou il y a un produit qui peut faire cela?
EDIT:
Voir ma réponse, la réponse est NON!
Avez-vous entendu des Applaudissements? (applause-framework.com)
Merci pour votre réponse. Il a essayé par le télécharger, télécharger eclipse, installez la dernière version du JDK, démarrez eclipse et que vous souhaitez importer les projets et obtenez l'erreur: la Ressource '/itemsisApp' existe déjà. Est-ce la peine d'essayer de corriger cela (ou suis-je en mesure de le corriger)?
Qu'en est Icenium et/ou Xamarin des trucs? Pour ce dernier: vous pouvez écrire en gros, non-INTERFACE morceaux dans une C# bibliothèque se spécialisent alors le code de l'INTERFACE utilisateur.
Deux ans et demi plus tard, j'espère que vous avez découvert Embarcadero XE7 ou Xamarin forms.
OriginalL'auteur Codebeat | 2012-05-31
Vous devez vous connecter pour publier un commentaire.
Après 2 ans en posant cette question, je peux dire: NON, il n'est PAS possible, c'est un mythe.
Tous les produits que j'ai essayé d'utiliser un certain type d'emballage ou d'utiliser une deuxième langue comme une couche à l'appel, le natif de trucs. Bien que les bibliothèques sont des natifs, le programme principal ne l'est pas. La dernière réponse de Cosku avec smartface.io est un bon exemple, ils prétendent qu'il est originaire, mais il ne l'est PAS.
Pourquoi est-il si difficile? Le problème, c'est le langage de programmation (différences de la langue qui rend complexe) qui est nécessaire pour une plate-forme. Il est trop complexe à traduire d'une langue seconde dans la plate-forme principale de la langue et c'est le propre des bibliothèques, vous ne pourrez le faire qu'en les enveloppant les choses avec des binaires natifs. Deuxième obstacle est le besoin de compilateur qui doit être capable d'exécuter la croix-plate-forme.
Mais pourquoi s'appuyer sur une langue seconde ou de la troisième partie, l'outil de développement pour créer des applications lorsque la production est la plupart du temps la même chose est mauvais, le problème est parfaitement illustré dans cette image:
http://xkcd.com/927/
L'image est au sujet des normes, mais c'est ce qu'il se passe, la création d'une nouvelle norme pour une norme. Par exemple, lors de l'utilisation de PhoneGap, vous devez apprendre les bases de l'API PhoneGap. Vous comptez sur un "nouveau standard" l'appel de PhoneGap. Le problème avec ceci est que vous compter entièrement sur PhoneGap soutien et de son existence. Il peut introduire une seconde faiblesse dans le cycle de vie d'une application.
De l'OMI, si vous voulez, pour envelopper les choses pour le rendre multi-plateforme, il n'est pas une bonne idée de compter sur des produits de tiers et les bibliothèques. Le mieux est d'écrire un wrapper de vous-même, comme je l'ai fait et passez le ballonnement. Un avantage de cela est que vous avez écrit le code wrapper de vous-même et vous comprenez les structures sous-jacentes. En outre, il est plus facile de prolonger ou modifier et vous pouvez ignorer les choses que vous n'avez pas besoin.
Aujourd'hui, j'ai créer et de concevoir l'INTERFACE utilisateur d'une application dans la plus longue et stable "langage" HTML avec javascript interface. L'application peut également exécuter dans un navigateur trop et ne se casse pas quand il y a une fonction spécifique manquants, comme vibrer par exemple. Vous ne pouvez pas obtenir les mêmes résultats avec phonegap, essayez-le! Vous pouvez concevoir l'application avec le réactif techniques à l'aise comme un site normal (à essayer dans Android par exemple ;-)). Techniquement, il peut fonctionner partout, sur toute plate-forme dans un navigateur ou d'une webview, mais ne pas utiliser n'importe quel Mobile spécial bibliothèques javascript! Vous n'avez pas besoin de ces bibliothèques, vraiment, utiliser le "normal" versions de la bibliothèque la place.
J'ai écrit un compilateur/obfuscator pour 'pack' de l'INTERFACE utilisateur-source dans un seul fichier qui sera chargé par le natif de shell. C'est pour protéger la source, de sorte qu'il n'est pas facile de consulter ou de modifier la source.
La seule chose que j'ai à faire, à l'appui de l'application de la plateforme est d'écrire un natif de l'enveloppe pour elle. Si une plate-forme qui meurt pour une raison quelconque (par exemple Windows Mobile dans le passé), je n'ai qu'à écrire un nouveau wrapper pour elle. C'est plus facile à faire que d'écrire l'ensemble du programme à partir de zéro. En outre, lorsqu'il y a une nouvelle plate-forme, il peut également exécuter dans les plates-formes navigateur trop.
Si votre application ne pas compter sur du matériel spécifique (comme un jeu) ou peuvent s'exécuter sans matériel spécial exigences, c'est la voie à suivre pour prolonger le cycle de vie de votre application. L'utilisation de HTML5 et javascript pour la conception de l'interface graphique et l'utilisation d'un natif shell pour utiliser certaines fonctionnalités du système d'exploitation.
Est-il lent? Je dois dire non. Au moins n'utilisez pas des encombrants et des ballonnements spécial conçu mobile de la bibliothèque javascript de trucs et de ne pas utiliser l'événement de clic sur les appareils à écran tactile, utilisez évènements touchstart à la place. Aussi le code HTML de moteurs/sont l'amélioration de ces jours et il est un meilleur support pour les fonctionnalités de HTML5 qui vous permet d'écrire puissant webapps HTML5 sans la nécessité de mettre en œuvre ce dans une langue autochtone.
De l'OMI, ce la voie à suivre (pour moi) et mon parcours pour trouver la meilleure façon de développer des applications mobiles multi-plateforme et de prolonger le cycle de vie. Heureusement, il peut aussi vous aider à décider ce qui est le mieux à faire.
OriginalL'auteur Codebeat
De croix-plate-forme native iOS, Android, Mac et Windows apps, découvrez Xamarin. Le Code en C#, les compiler en natif. Pour iOS, vous pouvez exploiter les outils XCode pour l'application de mise en page, et Xamarin Studio intègre très proprement avec elle.
Et par souci d'exhaustivité, PhoneGap est un digne (oui, WebView) concurrent dans DÉCLENCHEUR.IO. Alors que c'est l'approche est similaire à PhoneGap/Cordova, il améliore l'API pour accéder aux fonctionnalités en natif, simplifie les notifications push, et effectue beaucoup plus rapidement cloud s'appuie.
Je ne suis pas associé avec l'un de ces produits dans tous les sens... j'aime juste tous les deux.
Vous pouvez l'utiliser à la fois Windows et Mac. Il peut être cher, mais je crois que vous pouvez créer et configurer votre projet sur un essai ( juste ne peux pas publier sur les app stores ) j'ai été en utilisant déclencheur pendant plus d'un an ( à Commutation de phonegap pour déclencher.io ) et ont constaté que la productivité a augmenté, la façon dont vous pouvez ajouter des composants et des modules est vraiment sympa, pas de tripoter les fichiers de configuration, etc. En plus de cela, vous pouvez construire et de déployer de vos appareils IOS à partir de forge donc pas de testflight qui peuvent aide beaucoup dans les tests lors de l'utilisation de windows
OriginalL'auteur Noah Heldman
Avez-vous essayé http://www.codenameone.com? Il est open source, basé sur java, seulement besoin d'eclipse ou netbeans pour développer.
OriginalL'auteur virga
Tout d'abord
Est il y a un certain problème de votre face ? obtenez java erreurs ou quelque chose, n'aurait pas été configurée correctement.
Réponse courte est non, vous devez avoir un certain niveau d'abstraction afin d'atteindre cet objectif, java et objective-c sont complètement différentes langues, ainsi qu'Android et IOS SDK d'avoir les différentes méthodes, les procédures, les styles, du design etc. Il n'y a pas moyen d'avoir quelque chose à travailler sur les deux sans qu'il y ait une couche intermédiaire de convertir ou de rendu.
Appcelerator sera le placard chose à ce que vous cherchez comme ce n'est pas une webview wrapper comme les autres, le vrai, il ne interpréter le javascript, mais parce que son pas enveloppé dans une webview vous éviter les problèmes de navigateur.
Vitesse et compact vient plus de la façon dont vous le code de l'application plus que ce que son codé sur, vrai Titane apps sera plus grand en taille, en raison de la bibliothèque, mais ce n'en est pas mauvais en tant que tel, les avantages de la mise en 2 apps loin pèse le supplément de quelques mégaoctets que je pense.
Je suis sûr que tous ces outils ont l'acceptation par le marché, car ils ne serait pas réussi sans elle, encore une fois pour les goûts de pommes exigences de son à la manière de la conception de, pas l'outil dans l'arrière-plan.
Si vous souhaitez utiliser IOS, vous aurez besoin d'un mac, si vous souhaitez publier sur l'app store seul, vous avez besoin d'xcode et de la construction du projet d'utiliser le chargeur de l'application, je ne suis pas au courant de n'importe quel outil (même la webview wrappers) qui ne nécessitent pas d'avoir le SDK IOS comme il ne peut pas l'exécuter dans le simulateur, le package de l'application ou d'exécuter du code sans elle.
Si vous voulez faire des applications, vous avez 2 choix, apprendre à chaque plate-forme ou d'utiliser l'un de ces outils, s'il n'était pas un outil magique qui fait tout ce que je garantie qu'elle serait la chose la plus populaire sur la planète et vous avez entendu parler /trouvé.
c'est juste la manière d'apple de le faire, vous pouvez essayer de créer une machine virtuelle de mac osx, mais j'ai entendu mixte de choses au sujet de la qualité de cette. Seulement juste regardé il y a, semble être encore une autre web HTML à afficher wrapper dont je ne suis pas fou. En toute équité, jamais essayé, ni entendu parler de lui avant aujourd'hui, pourrait être mieux que je pense que c'est
Merci encore. Interface de AppMobi c'est bon lookin' mais la première erreur est-il (obtenir certaines fenêtres qu'il veux copier quelque chose à un endroit qui n'existe pas). Je pense que le développement n'est pas encore fini et pour certains services, vous devez payer. Non pas que je ne veux pas payer pour quelque chose de bon, mais est sur une base mensuelle. Je pense que je vais aller pour android seulement à la première place et pour certains, j'ai utiliser Flash Builder pour développer (je peux réutiliser certains AS3 code du passé trop).
+1 pour la même mentionner le mot "design", ce qui implique qu'une bonne conception peut réduire l'effort de codage de portage de l'application
OriginalL'auteur Simon McLoughlin
C'est une des raisons pourquoi le "cloud" est si populaire. Au lieu d'écrire votre application à plusieurs reprises, vous écrivez toutes les fonctionnalités sur un serveur. Les "apps" sont alors tout simplement votre interface utilisateur pour la fonctionnalité, ce qui peut être très simple selon vos besoins. Si c'est si simple, alors vous pourriez écrire les applications séparément pour chaque plate-forme, mais ils utilisent tous le même "cloud" backend.
Si je ne me trompe pas, c'est représentatif de ce que la plupart des applications par les entreprises qui ont une architecture cloud ne, et est aussi pourquoi beaucoup nécessitent une connexion de données.
Je ne pense pas qu'il est possible d'écrire une fois et courir partout, sans une sorte de wrapper ou de la couche, cela est dû au fait que chaque plate-forme a séparé les Api et même des langages de programmation. Vous serait difficile d'écrire un code source qui s'exécute en mode natif sur les deux les appareils Apple et Android, par exemple. Ce n'est pas dire qu'il n'est pas possible techniquement, les systèmes d'exploitation de bureau ont eu un tel cross-compilation de la portabilité pendant des années avec C/C++, et Java uniquement faite que beaucoup plus facile. Bien sûr, les ingénieurs des systèmes d'exploitation Mobiles ne semblent pas partager une vision d'interopérabilité des Api.
Pour conclure, je voudrais vous recommander Un) l'écriture de l'application deux fois terrible je sais, mais il permettra à la fiabilité de l'exécution native sur les deux appareils, et peut être fait avec un minimum de douleur) ou B) briser et à l'aide de l'un des "script kiddie" cadres de. Ces fait ne peut pas être si mal que ça, si votre application est assez simple, et il ne peut être que l'inverse engineerable à tous. Si quelqu'un a des suggestions quant à la meilleure "quasi-natifs" de la croix le cadre de la plateforme, ce serait utile.
OriginalL'auteur Dougvj
Eh bien, il ya plusieurs choses à considérer, si vous voulez une interface native il existe des frameworks comme le Sencha(www.sencha.com) et Kendo UI(http://www.kendoui.com/qui permettent de simuler sur JavaScript côté. Je l'ai trouvé à la fois beau sur Android et iPhone, mais pas de support pour Windows Phone encore.
Si vous êtes à la recherche de vrais objets natifs combiné avec du HTML, vous pouvez regarder dans MoSync Natif de l'INTERFACE utilisateur(http://www.mosync.com/documentation/manualpages/jsnativeui-library), qui prennent en charge windows phone Metro UI trop, ou en Titane(http://docs.appcelerator.com/titanium/2.1/index.html).
De toute façon une autre chose est que vous pouvez utiliser les emballeurs comme Phonegap ou MoSync ou AppMobi(qui, je pense, utilise quelque chose de semblable à PhoneGap build) pour envelopper votre application et la mettre sur les marchés d'applications. à partir de ces listes, PhoneGap surtout n'est pas conçu pour vous fournir toute l'INTERFACE utilisateur spécifique fonctionnalité même si j'ai vu quelques tentatives pour ajouter de la barre d'onglet plugins pour Phonegap.
OriginalL'auteur Ali.S