Mejor plataforma para desarrollar webapps

lxn_

Buenas, me han mandado hacer una app para móviles y estoy bastante perdido pues aún no he hecho ninguna. Alguien que haya probado con varias alternativas , ¿por donde tiraríais?
He echado un ojo a AngularJS o incluso Dart + Rikulo, incluso si no recuerdo mal vi no se que con Ruby pero no me decido...

Edit: Bumpeo con otra pregunta ya puesto, ¿que usáis como bbdd local? Según he podido saber webSQL está ya obsoleto y indexedDB no lo leen ni Android ni iOS...

r2d2rigo

Has mirado PhoneGap?

zoeshadow

Tienes un cacao... xDD

Antes de todo, ¿que plataformas tienes que soportar?, ¿iphone, Android, Windows Phone, BB, Web?

Una vez sepas en que plataformas quieres tener la aplicación disponible ya es hora de elegir la tecnología, si solo quieres que funcione en iOS, Android y una Web, necesitas saber que uso vas a tener de lo que serian las API's nativas, vease, notificaciones Push, geolocalizacion, Storage.. etc

PhoneGap te permite acceder a través de Javascript a las API's Nativas de cada plataforma, escribiendo el código una vez, sirve para todas ( ojo que esto no es siempre cierto, pero al menos reutilizaras la mayor parte ) además de empaquetar la aplicación como una aplicación nativa de cara al usuario, por lo que es una buena opción a tener en cuenta.

En cuanto a lenguajes, diferencia la parte servidor de la parte cliente, la parte servidor la puedes escribir en cualquier lenguaje que mas te guste, Ruby, PHP, Java, Python... solo tienes que poder hacer unos servicios que respondan a peticiones HTTP y extraigan los datos de cualquier Base de Datos.

En cuanto a la parte cliente, si te decides a hacer la aplicación en Javascript es recomendable usar algún framework MV*, y ahí es donde entra Angular.js como una de las mejores opciones.
Hacer funcionar Angular con PhoneGap es fácil según he leído, pero conviene echarle un vistazo antes de meterse de lleno.

Dart no te lo recomendaría, a pesar de que compile a Javascript, es meterte otra capa mas de abstracción que lo único que va a conseguir es complicarte todavía mas todo el tema.

2 1 respuesta
lxn_

#3 La verdad que es un concepto que aún se me escapa un poco, hasta ahora solo había tocado web. ¿El tema BBDD como funciona? Imagino que se podrá tener una sqlite a descargar con la app para no tener que estar chupando 3G todo el rato, ¿no? ¿Y para actualizarla hay que sacar una nueva versión? xd

#5 Ok, muchas gracias :)

1 respuesta
zoeshadow

#4 Dependiendo de la plataforma tienes unas maneras u otras de manejar la persistencia de datos, en Android tienes un documento en el que lo explican todo muy bien.

Para acceder a la parte de la API de Java lo tendrias que hacer mediante PhoneGap ( documentación ) para que te hagas una idea de porque necesitas PhoneGap si vas a desarrollar tus aplicaciones en Javascript, este es un buen ejemplo.

En cuanto al tema de actualizarla, tu desarrollas en tu terminal ( para desarrollar en iPhone necesitaras un Mac ), una vez tengas la aplicación "terminada" tienes que subirla a la Play Store / App Store, previo pago de una cantidad por hacerte cuenta de desarrollador en ambas, y lo demás lo manejas desde los respectivos Paneles de Administración, el proceso exacto de como se sube una nueva versión lo desconozco, pero me imagino que será subir la versión y esperar un par de dias a que se actualice en las respectivas Stores..

1 respuesta
28 días después
lxn_

Bumpeo con otra pregunta ya puesto, ¿que usáis como bbdd local? Según he podido saber webSQL está ya obsoleto y indexedDB no lo leen ni Android ni iOS...

Rayven

sqllite, facil, rapido y para toda la familia.

1 respuesta
lxn_

#7 ¿Se puede poner tranquilamente un sqlite entre los html? ¿No habrá ningún problema de compatibilidades al crear apks o lo que sea? Y el acceso imagino que será posible desde js claro

zoeshadow

En una aplicación en la que estoy trabajando para evitar hacer uso de phonegap o soluciones similares lo que hacen es pedir mediante AJAX datos a URL's ( locales ) que Android intercepta y se los devuelve en forma de JSON, esos datos los almacena Android en una base de datos SQLite.