Quiero crear una aplicación en Android y necesito que me aconsejéis cual sería el lenguaje, framework... que me podría ser más idóneo para mi solución. Me gustaría que fuera bastante dinámico visualmente hablando (como jquery o algo así).
Os cuento uno poco la idea:
Quiero que desde una tablet a través de una aplicación se puedan hacer hacer compras (como una especia de POS) en la que se muestran los artículos en un grid y al seleccionarlo se muestren detalles y se pueda comprar.
Se dispone de un servidor que se encarga de llevar el control de los pedidos, alta y definición de productos, facturación... El backend de este servidor esta programado con Python completamente.
Ademas se definen varias acciones en función del perfil que se haya logado(siempre desde la tablet):
- Perfil usuario:
* Puede ver el catalogo de artículos de la tienda y ver sus características, así como añadir productos a un carrito y finalizar una compra (aunque no se llegue a hacer el pago desde ahí). Se quiere que la interfaz que muestra los artículos sea potente gráficamente (que no solo sean imágenes estáticas, también pueda tener enlazado algún pequeño vídeo o imagen de gran resolución)
* También tiene que poder insertar registros a través de un formulario y que se guarden en el servidor del backend.
* Pueda tener otras funcionalidades de entretenimiento integradas dentro de esta misma app (Internet con un navegador, juegos, comunicación entre tablet...), aunque esto sería secundario por ahora.
- Perfil administrador:
* Tenga acceso a los datos de configuración de la tablet para hacer la conexión con la red wifi y darlo de alta en el sistema.
Las tablets estarán conectadas por wifi con el servidor para poder hacer los pedidos y consultar los artículos.
Desde hace un tiempo me estoy formando y documentando en enfoques ágiles y me gusta mucho el enfoque BDD con Gherkin y Cucumber para tener pruebas automáticas y aumentar la calidad de pruebas y velocidad de integración del software. En entornos móviles (Android en este caso) no sé si es posible aplicarlo y si es así que programas serían los más aconsejables.
Sé que son muchas cuestiones y a lo mejor no lo estoy enfocando como se debe, pero en estos momentos me sería de gran ayuda para poder saber cómo empezar y no perder el tiempo con otras herramientas que no me vayan a ser útiles.
Cualquier consejo que me podáis dar será bienvenido y agradecido infinitamente.
Hola, una respuesta rápida seria que tienes dos enfoques: hacer una aplicación nativa, con lo que tienes que ir a parar a Java a pelo, o usar un cliente web que ataque al backend ya hecho. En el segundo caso, tienes mas opciones donde escoger... angular 1/2, react, vuejs, etc...
Quería decir que depende las skills que tengas. Obviamente si sabes Java y la distribución va a ser solo en dispositivos Android, desarrollar en nativo parece lo mas obvio.
Si por el contrario eres mas Javascript yo miraría NativeScript, puedes desarrollas con Angular2/4 también. Es super potente y te da un resultado final puramente nativo tambien, sin webviews o limiationes de browser. Puedes crear la versión iOS con tu código JavaScipt/Angular al mismo tiempo si eso es un plus para el deploy.
Tienen un modulo Stripe que te permitiria gestionar todos los pagos.
https://www.npmjs.com/package/nativescript-stripe
Con respecto a la automatizacion de pruebas, yo utilizo Appium con NativeScript y en general funciona bien.
Quiero crear una aplicación en Android y necesito que me aconsejéis cual sería el lenguaje, framework... que me podría ser más idóneo para mi solución. Me gustaría que fuera bastante dinámico visualmente hablando (como jquery o algo así).
Os cuento uno poco la idea:
Quiero que desde una tablet a través de una aplicación se puedan hacer hacer compras (como una especia de POS) en la que se muestran los artículos en un grid y al seleccionarlo se muestren detalles y se pueda comprar.
Se dispone de un servidor que se encarga de llevar el control de los pedidos, alta y definición de productos, facturación... El backend de este servidor esta programado con Python completamente.
Ademas se definen varias acciones en función del perfil que se haya logado(siempre desde la tablet):
- Perfil usuario:
* Puede ver el catalogo de artículos de la tienda y ver sus características, así como añadir productos a un carrito y finalizar una compra (aunque no se llegue a hacer el pago desde ahí). Se quiere que la interfaz que muestra los artículos sea potente gráficamente (que no solo sean imágenes estáticas, también pueda tener enlazado algún pequeño vídeo o imagen de gran resolución)
* También tiene que poder insertar registros a través de un formulario y que se guarden en el servidor del backend.
* Pueda tener otras funcionalidades de entretenimiento integradas dentro de esta misma app (Internet con un navegador, juegos, comunicación entre tablet...), aunque esto sería secundario por ahora.
- Perfil administrador:
* Tenga acceso a los datos de configuración de la tablet para hacer la conexión con la red wifi y darlo de alta en el sistema.
Las tablets estarán conectadas por wifi con el servidor para poder hacer los pedidos y consultar los artículos.
Desde hace un tiempo me estoy formando y documentando en enfoques ágiles y me gusta mucho el enfoque BDD con Gherkin y Cucumber para tener pruebas automáticas y aumentar la calidad de pruebas y velocidad de integración del software. En entornos móviles (Android en este caso) no sé si es posible aplicarlo y si es así que programas serían los más aconsejables.
Sé que son muchas cuestiones y a lo mejor no lo estoy enfocando como se debe, pero en estos momentos me sería de gran ayuda para poder saber cómo empezar y no perder el tiempo con otras herramientas que no me vayan a ser útiles.
Cualquier consejo que me podáis dar será bienvenido y agradecido infinitamente.
Saludos a tod@S! :)
10/04/2017 11:29
Saludos
11/04/2017 13:19
11/04/2017 13:28
Quería decir que depende las skills que tengas. Obviamente si sabes Java y la distribución va a ser solo en dispositivos Android, desarrollar en nativo parece lo mas obvio.
Si por el contrario eres mas Javascript yo miraría NativeScript, puedes desarrollas con Angular2/4 también. Es super potente y te da un resultado final puramente nativo tambien, sin webviews o limiationes de browser. Puedes crear la versión iOS con tu código JavaScipt/Angular al mismo tiempo si eso es un plus para el deploy.
Tienen un modulo Stripe que te permitiria gestionar todos los pagos.
https://www.npmjs.com/package/nativescript-stripe
Con respecto a la automatizacion de pruebas, yo utilizo Appium con NativeScript y en general funciona bien.
Saludos