¿Cómo es la programación para aplicaciones móviles fundamentalmente diferente de la programación para aplicaciones no móviles basadas en Internet?

Al trabajar en un dispositivo restringido (tamaño de pantalla) y con una atención limitada del usuario, debe pensar constantemente en cómo puede simplificar aún más la funcionalidad que proporciona.

En mi experiencia, esto lleva a más iteraciones de una característica antes de que salga por la puerta. Las cosas llevan mucho más tiempo.

Además, las interacciones basadas en gestos a veces son difíciles de visualizar completamente antes de que pueda experimentarlas de verdad en un dispositivo. Como resultado, a menudo tiene que prototipar rápidamente algo varias veces para ver cómo funcionará en la práctica y, a menudo, abandonar muchas rutas antes de decidirse por el mejor.

También debe tener en cuenta la compatibilidad con versiones anteriores. No puede corregir rápidamente un error de la misma manera que lo hace con cosas en la web. Es posible que algunos usuarios no actualicen el software con mucha frecuencia. ¿Deja de funcionar para ellos cuando agrega nuevas características o necesita volver a diseñar cosas en el backend?

Debido a esto, debe intentar y permitir los cambios que necesitará hacer más adelante, y ser consciente de cómo afectarán a los usuarios existentes en versiones anteriores.

También creo que hay más terreno nuevo para romper con el móvil. Todavía no hemos descubierto las mejores formas de usarlo y cómo puede mejorar nuestras vidas, por lo que también es muy emocionante.

Hay muchas cosas que hacen que la aplicación móvil sea fundamentalmente diferente de la aplicación basada en Internet no móvil. Estoy compartiendo algunos de ellos.

1. Hay dos advertencias principales que debemos tener en cuenta al programar para la aplicación móvil, es decir, un pequeño espacio para administrar (tamaño de pantalla pequeña) y hacer controles para activarse con el toque del pulgar. Como no podemos usar controles pequeños aquí y tampoco podemos hacer controles más cercanos.

2. Otra cosa importante que debemos tener en cuenta al codificar la aplicación móvil es un tamaño de memoria menor. Hablando de dispositivos iOS, hemos arreglado una memoria grande que es interna al dispositivo. Pero Android y otros dispositivos comienzan con un tamaño de memoria muy pequeño.

3. Las aplicaciones cliente móviles requieren un entorno de desarrollo, una estrategia de implementación, etc., que sea específica del dispositivo móvil. Las herramientas y técnicas utilizadas en el desarrollo de aplicaciones cliente estándar no se asignan particularmente bien al cliente móvil. En cambio, necesitará aprender nuevas herramientas, controles y técnicas. La única excepción real a esta regla son las herramientas disponibles a través de .NET. Microsoft ha intentado proporcionar la mayor cantidad de elementos comunes posibles, aunque, incluso aquí, encontrará que tiene una mentalidad diferente y restricciones diferentes que cuando desarrolla una aplicación WinForms.

4)
Las aplicaciones web se ejecutan en un servidor, destinadas a servir a un gran número de clientes que utilizan un navegador web. Aunque los servidores web se ejecutan en algún sistema operativo, las aplicaciones web que se ejecutan en ellos no están estrechamente vinculadas a ese sistema operativo.
Las aplicaciones móviles y de escritorio suelen estar más unidas al sistema operativo en el que se ejecutan.

5. Mientras desarrollamos una aplicación móvil, debemos tener en cuenta las pautas de diseño proporcionadas por la compañía si queremos enviar esa aplicación al mercado. De lo contrario, esa compañía rechazará nuestra aplicación para ponerla en el mercado.

Por favor comparta su opinión a través de los comentarios.

Gracias