{"id":7130,"date":"2014-08-22T14:50:44","date_gmt":"2014-08-22T12:50:44","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=7130"},"modified":"2014-08-22T16:25:37","modified_gmt":"2014-08-22T14:25:37","slug":"frameworks-de-desarrollo-para-moviles","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/frameworks-de-desarrollo-para-moviles\/","title":{"rendered":"Frameworks de desarrollo para m\u00f3viles + #infografia"},"content":{"rendered":"<p>En el mundo de desarrollo de aplicaciones para dispositivos m\u00f3viles existen diversas soluciones. Aunque algunos programadores\u00a0tienen sus preferencias y aseguran que determinados IDEs son los mejores, la experiencia determina que,\u00a0<strong>el mejor entorno es aquel en el que nos encontremos m\u00e1s seguros y desarrollemos con mayor agilidad y menor tiempo<\/strong>.<\/p>\n<p>Por lo tanto la elecci\u00f3n del <strong>IDE y\/o Framework de trabajo\u00a0<\/strong>\u00a0para desarrollar depender\u00e1 de nuestras preferencias y plataforma destino.<\/p>\n<p>El mercado\u00a0de los smartphones y tablets actualmente se encuentra gobernado por los tres\u00a0grandes:<br \/>\n<strong>Android, iOS y Windows Phone<\/strong>.<\/p>\n<p>Bajo estos escenarios generalmente se trabaja con un IDE de desarrollo para generar proyectos en cada plataforma de<strong> forma nativa<\/strong>. Es decir, en su propio entorno de controles, funciones y APIs.<\/p>\n<p><!--more--><\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2014\/08\/Frameworks-para-dispositivos-moviles-infografia.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7131\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2014\/08\/Frameworks-para-dispositivos-moviles-infografia.jpg\" alt=\"Frameworks-para-dispositivos-moviles-infografia\" width=\"1024\" height=\"768\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2014\/08\/Frameworks-para-dispositivos-moviles-infografia.jpg 1024w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2014\/08\/Frameworks-para-dispositivos-moviles-infografia-300x225.jpg 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Destacan principalmente los IDES\u00a0sobre <strong>Android<\/strong> para el desarrollo nativo:<\/p>\n<p><a href=\"https:\/\/www.eclipse.org\/\" target=\"_blank\">Elipse <\/a>+ <a href=\"http:\/\/developer.android.com\/tools\/sdk\/eclipse-adt.html\" target=\"_blank\">ADT plugin <\/a>con el <a href=\"http:\/\/developer.android.com\/sdk\/index.html\" target=\"_blank\">SDK de Android<\/a>.<\/p>\n<p><a href=\"https:\/\/netbeans.org\/\" target=\"_blank\">Netbeans <\/a>+ SDK de Android<\/p>\n<p><a href=\"http:\/\/developer.android.com\/sdk\/installing\/studio.html\" target=\"_blank\">Android Studio<\/a> basado en IntelliJ IDEA<\/p>\n<p><a href=\"http:\/\/www.basic4ppc.com\/\" target=\"_blank\">Visual Basic For Android<\/a>, Basic4Android<\/p>\n<hr \/>\n<p>Para del desarrollo de aplicaciones de <strong>Apple<\/strong> destino nativo iOS el IDE es:<\/p>\n<p><a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_blank\">Xcode<\/a><\/p>\n<hr \/>\n<p>El desarrollo de aplicaciones<strong> Windows Phone sobre Windows<\/strong><\/p>\n<p>El conocido<a href=\"http:\/\/msdn.microsoft.com\/es-es\/vstudio\/aa718325.aspx\" target=\"_blank\"> Visual Studio de Microsoft<\/a>. (diferentes versiones gratuitas o de pago).<\/p>\n<p><a href=\"http:\/\/www.microsoft.com\/en-us\/projectsiena\/default.aspx\" target=\"_blank\">Microsoft Project Siena.<\/a><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>Hasta aqu\u00ed, es una cuesti\u00f3n de pol\u00edtica por parte de la empresa de desarrollo o programador la elecci\u00f3n del IDE y tecnolog\u00eda.<\/p>\n<p>Pero cada vez, en el mundo de los proyectos m\u00f3viles, necesitamos mayor cobertura, emplear menos tiempo, simplificar <strong>el costo y esfuerzo en el desarrollo<\/strong>, llegar a m\u00e1s plataformas en menos tiempo. Es decir, ser\u00eda ideal desarrollar no pensando en el dispositivo, y todo ello en un mismo IDE o entorno de desarrollo. Nos permitir\u00e1 <strong>ahorrar horas de esfuerzo y aprendizaje para lograr los\u00a0objetivos marcados<\/strong>. Eliminando los problemas de las diversas plataformas.<\/p>\n<p>Para ello existen los <strong>Frameworks de plataforma cruzada<\/strong>.<\/p>\n<p>Aunque parezca mentira, existen <strong>multitud<\/strong> de ellos, con una salvedad. <strong>Muchos trabajan generando instaladores de empaquetado para diversas plataformas con PhoneGap \/ Cordova.<\/strong><\/p>\n<p>Por lo que el resultado de la compilaci\u00f3n y desarrollo es c\u00f3digo<strong><span style=\"color: #800000;\"> HTML5<\/span>, junto con Javascript y <span style=\"color: #800000;\">CSS3<\/span><\/strong>.<br \/>\nPero es necesario destacar que <strong>no todos los frameworks cruzados<\/strong> generan HTML5 como lenguaje com\u00fan destino para la plataforma desplegada.<\/p>\n<p>Antes de pasar a comentar los frameworks cruzados m\u00e1s importantes, me gustar\u00eda hablar algo sobre el anteriormente mencionado <strong>Cordova\/Phonegap<\/strong>.<\/p>\n<p>PhoneGap permite a los programadores desarrollar aplicaciones para dispositivos m\u00f3viles utilizando herramientas gen\u00e9ricas tales como<strong>\u00a0JavaScript,\u00a0HTML5\u00a0y\u00a0CSS3<\/strong>.<\/p>\n<p><strong>Existe una peque\u00f1a confusi\u00f3n entre lo que es PhoneGap y Apache Cordova<\/strong>. La empresa Nitobi desarrollo el proyecto PhoneGap en el 2008. Fue tan grande el \u00e9xito que Adobe lo compr\u00f3. Entonces desde ese momento la <strong>Fundaci\u00f3n Apache<\/strong> sigui\u00f3 controlando el proyecto PhoneGap y <strong>Adobe<\/strong> decidi\u00f3\u00a0hacer negocio creando un producto comercial denominado <strong>PhoneGap Build para la Cloud<\/strong> que emplea PhoneGap para crear empaquetados de aplicaciones para las 3 plataformas con m\u00e1s difusi\u00f3n, Android, iOs y Windows Phone. La distribuci\u00f3n de aplicaciones PhoneGap Build posibilita lecturas de c\u00f3digo QR y simplicidad de generacion de instaladores desde herramientas como Dreamweaver CS6 \u00f3 CC.<\/p>\n<p>Por lo tanto es preciso hablar de <strong><a href=\"http:\/\/cordova.apache.org\/\" target=\"_blank\">PhoneGap\u00a0<\/a>\u00a0en los frameworks cruzados que lo emplean\u00a0y no de <a href=\"https:\/\/build.phonegap.com\/\" target=\"_blank\">PhoneGap Build<\/a><\/strong>.<br \/>\nPhoneGap es una distribuci\u00f3n libre de Apache Cordova que se puede utilizar sin problemas en proyectos comerciales.<\/p>\n<p>Las aplicaciones resultantes \u00a0con Phonegap \/Cordova son h\u00edbridas, es decir que no son realmente aplicaciones nativas al dispositivo, pero no se tratan tampoco de aplicaciones web (teniendo en cuenta que son aplicaciones que son empaquetadas para poder ser desplegadas en el dispositivo incluso trabajando con el API del sistema nativo).<\/p>\n<p style=\"text-align: justify;\">Una vez aclarado lo que es PhoneGap, me gustar\u00eda resaltar que muchos Frameworks de desarrollo Cruzado o Cross Platform frameworks usan la librer\u00eda PhoneGap (repito la no comercial de Adobe). Tambi\u00e9n es necesario se\u00f1alar que muchos frameworks cruzados no emplean HTML5 y se desarrolla en modo \u201cnativo\u201d, para cada dispositivo permitiendo aprovechar el proyecto para compilar en otras plataformas.<\/p>\n<p style=\"text-align: justify;\">Los siguientes frameworks cruzados que emplean phoneGap para el empaquetado y que he incluido \u00a0(si existen m\u00e1s, por favor, comentar, \u00a0entre todos podemos ampliar la entrada) son:<\/p>\n<p>Se puede hacer clic sobre cada uno de ellos para ir a la web del producto.<\/p>\n<p><span style=\"color: #0000ff;\"><strong>Con PHONEGAP\/CORDOVA, tecnolog\u00edas HTML5 y CSS3<\/strong><\/span><\/p>\n<p><strong>Emy<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/www.emy-library.org\/about-emy.html\" target=\"_blank\">http:\/\/www.emy-library.org\/about-emy.html<\/a><\/p>\n<p><strong>Enyo<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/enyojs.com\/\" target=\"_blank\">http:\/\/enyojs.com\/<\/a><\/p>\n<p><strong>Famo.us<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/famo.us\/\" target=\"_blank\">http:\/\/famo.us\/<\/a><\/p>\n<p><strong>Intel App Framework<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/app-framework-software.intel.com\/\" target=\"_blank\">http:\/\/app-framework-software.intel.com\/<\/a><\/p>\n<p><strong>Ionic<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/ionicframework.com\/\" target=\"_blank\">http:\/\/ionicframework.com\/<\/a><\/p>\n<p><strong>JQTouch<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/jqtjs.com\/\" target=\"_blank\">http:\/\/jqtjs.com\/<\/a><\/p>\n<p><strong>JQuery Mobile<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/jquerymobile.com\/\" target=\"_blank\">http:\/\/jquerymobile.com\/<\/a><\/p>\n<p><strong>Kendo UI<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/www.telerik.com\/kendo-ui\" target=\"_blank\">http:\/\/www.telerik.com\/kendo-ui<\/a><\/p>\n<p><strong>Lavaca<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/getlavaca.com\/#\/#@0\" target=\"_blank\">http:\/\/getlavaca.com\/#\/#@0<\/a><\/p>\n<p><strong>Lungo<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/lungo.tapquo.com\/\" target=\"_blank\">http:\/\/lungo.tapquo.com\/<\/a><\/p>\n<p><strong>Mgwt<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/www.m-gwt.com\/\" target=\"_blank\">http:\/\/www.m-gwt.com\/<\/a><\/p>\n<p><strong>PhoneJS<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/www.codeproject.com\/Articles\/633706\/PhoneJS-HTML-JavaScript-Mobile-Development-Framew\" target=\"_blank\">http:\/\/www.codeproject.com\/Articles\/633706\/PhoneJS-HTML-JavaScript-Mobile-Development-Framew<\/a><\/p>\n<p><strong>Sencha Touch<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/www.sencha.com\/products\/touch\" target=\"_blank\">http:\/\/www.sencha.com\/products\/touch<\/a><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>Por otro lado aquellos que no emplean PhoneGAP<strong>,<\/strong><\/p>\n<p><span style=\"color: #800000;\"><strong> Modo nativo<\/strong><\/span><\/p>\n<p><strong>Xamarin<\/strong> (Destinos Android, iOS, Phone).<br \/>\n<a href=\"http:\/\/xamarin.com\/\" target=\"_blank\">http:\/\/xamarin.com\/<\/a><\/p>\n<p><strong>Titanium<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/www.appcelerator.com\/titanium\/\" target=\"_blank\">http:\/\/www.appcelerator.com\/titanium\/<\/a><\/p>\n<p><strong>Air<\/strong> (Destinos Android).<br \/>\n<a href=\"http:\/\/www.adobe.com\/devnet\/air.html\" target=\"_blank\">http:\/\/www.adobe.com\/devnet\/air.html<\/a><\/p>\n<p><strong>Delphi<\/strong> (Destinos Android).<br \/>\n<a href=\"https:\/\/www.embarcadero.com\/es\/products\/delphi\" target=\"_blank\">https:\/\/www.embarcadero.com\/es\/products\/delphi<\/a><\/p>\n<p><strong>NeoMad<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/neomades.com\/es\/caracteristicas\/\" target=\"_blank\">http:\/\/neomades.com\/es\/caracteristicas\/<\/a><\/p>\n<p><strong>RhoMobile<\/strong> (Destinos Android, iOS).<br \/>\n<a href=\"http:\/\/rhomobile.com\/%20\" target=\"_blank\">http:\/\/rhomobile.com\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #800000;\"><strong>Para finalizar:<\/strong><\/span><\/p>\n<p>Dejo un enlace con en <strong>GitHub<\/strong>\u00a0con un proyecto ejemplo para cada uno de los frameworks mencionados, licencia <strong>MIT<\/strong>.<br \/>\nSe puede realizar un estudio y ver su funcionamiento.<\/p>\n<p><a href=\"https:\/\/github.com\/tastejs\/PropertyCross\/\" target=\"_blank\">https:\/\/github.com\/tastejs\/PropertyCross\/<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el mundo de desarrollo de aplicaciones para dispositivos m\u00f3viles existen diversas soluciones. Aunque algunos programadores\u00a0tienen sus preferencias y aseguran que determinados IDEs son los mejores, la experiencia determina que,\u00a0el mejor entorno es aquel en el que nos encontremos m\u00e1s seguros y desarrollemos con mayor agilidad y menor tiempo. Por lo tanto la elecci\u00f3n del IDE y\/o Framework de trabajo\u00a0\u00a0para desarrollar depender\u00e1 de nuestras preferencias y plataforma destino. El mercado\u00a0de los smartphones y tablets actualmente se encuentra gobernado por los tres\u00a0grandes: Android, iOS y Windows Phone. Bajo estos escenarios generalmente se trabaja con un IDE de desarrollo para generar proyectos en cada plataforma de forma nativa. Es decir, en su propio entorno de controles, funciones y APIs.<\/p>\n","protected":false},"author":1,"featured_media":7132,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[340,411,446,579,102,339,5],"tags":[689,570,540],"class_list":["post-7130","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-apple","category-html5","category-infografia-2","category-microsoft","category-moviles","category-programacion","tag-frameworks","tag-infografia","tag-moviles-2"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/7130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=7130"}],"version-history":[{"count":16,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/7130\/revisions"}],"predecessor-version":[{"id":7148,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/7130\/revisions\/7148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/7132"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=7130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=7130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=7130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}