¿Por qué lucho tanto con el desarrollo de aplicaciones?

A2A

El desarrollo de aplicaciones es un poco complicado dadas las interacciones subyacentes del sistema operativo. Por ejemplo, si su aplicación necesita permiso para usar la cámara o el bluetooth o el almacenamiento, etc. No es necesario tenerlos en cuenta al crear aplicaciones web o aplicaciones de escritorio independientes (Windows / Mac). No sé sobre ti, pero esa fue una de las cosas con las que luché cuando comencé con el desarrollo móvil.

El truco para superar esta lucha es tratarla como una aplicación de escritorio independiente y comprender la arquitectura central de cualquier plataforma que use (iOS / Android).

En un nivel muy alto, ambos dispositivos móviles son básicamente computadoras. Tienen un microcontrolador, una interfaz de usuario, dispositivos de E / S y memoria primaria y secundaria. Al igual que su computadora portátil. Todo lo que tiene que hacer ahora es entender cómo interactúa el microprocesador OS + móvil con diferentes componentes de hardware (bluetooth, cámara, etc.).

El siguiente paso sería comprender cómo el sistema operativo interpreta su programa y dar instrucciones a las capas subyacentes.

Una vez que tenga una comprensión decente de estos conceptos, puede comenzar a crear aplicaciones móviles. Comience con lo más simple y comience a agregar características.

Por ejemplo, cree una lista de tareas pendientes simple, que solo tome su entrada y la agregue a una Colección y la muestre al usuario. Luego, conéctelo a la base de datos. Luego, conéctelo a la nube, haga que la lista T0D0 esté disponible en diferentes plataformas. Luego, use la información del sensor (GPS, por ejemplo) para que su aplicación sea más intuitiva.

Este sería un mejor enfoque para dominar la habilidad. Aprenderá algo nuevo cuando agregue una nueva función, tal vez pase innumerables horas descubriendo cómo hacer eso. Pero, después de implementarlo con éxito, sabrá qué hacer la próxima vez que se encuentre con una situación similar.

En pocas palabras, comprenda bien la arquitectura de la plataforma central, divida su problema en subproblemas más pequeños e implemente un subproblema a la vez.

¡Espero que ayude!