¿Cómo se pueden crear aplicaciones y ponerlas en Play Store? ¿Qué habilidades de programación se necesitan?

En términos de programación, necesitará un kit de desarrollo de software (SDK) para el entorno para el que desea programar. Hay SDK multiplataforma, que se adhieren exclusivamente a las funciones disponibles en todas esas plataformas. Son los más limitantes en términos de lo que puedes hacer, obviamente, pero los más flexibles sobre quién puede ver lo que has hecho. Recuerde, las versiones incompatibles (en cuanto a lo que desea hacer) de la “misma” plataforma cuentan como plataformas diferentes en lo que respecta al SDK.

Ahora, en la mayoría de los casos, los únicos lenguajes que puede usar están compilados (como C, C ++, D) o dónde está integrado el motor para ejecutarlo (eso generalmente significa Java, donde es posible, ya que Flash no está desarrollado para Linux también conocido como Android, y Silverlight / Moonlight es abandonware).

Cada SDK proporcionará una interfaz de programador de aplicaciones (API) que define exactamente lo que puede hacer y las instrucciones necesarias para hacerlo. Android tiene su propia API interna y ABI (interfaz binaria de aplicación), pero eso no es lo que te importa, incluso si es lo mismo que te dan. Lo que se le da es lo que puede usar y eso generalmente debe tratarse como si fuera específico del SDK. Algunos de ellos lo serán, porque el objetivo de un SDK es ocultar detalles y proporcionar un nivel de abstracción. Como resultado, no puedo decirte con precisión, para ningún idioma, qué obtendrás.

Ahora, entramos en lo que se debe y no se debe hacer. La mayoría de los cuales son totalmente ignorados por los escritores de aplicaciones.

Recuerde que algunas pantallas de teléfono son muy pequeñas y de baja resolución.
No requiera permisos que no necesite o que pueda evitar.
Recuerde que el tiempo del sistema refleja lo que experimenta el usuario, no lo que el usuario puede utilizar.
No use la memoria dinámica, es un mal comportamiento que un programa se bloquee debido a algo que otro proceso está haciendo o para causar pérdidas de memoria.
Preste atención a la gravedad de la pantalla, al menos hasta el punto de voltear el dispositivo 180 ‘, porque los cables de alimentación son terriblemente frágiles.
No olvide permitir que los usuarios salgan, y no asuma que lo harán limpiamente.
Recuerde utilizar valores predeterminados razonables, especialmente para los tiempos de espera.
No asumas que nada se predetermina automáticamente.
Verifique los datos que ingresan, sin importar la fuente, para asegurarse de que los búferes no se desborden.
No deje datos confidenciales, como contraseñas, en la memoria más de lo absolutamente necesario.
Pruebe el código a fondo, los usuarios superarán a cualquier desarrollador y eso puede bloquear todo el dispositivo.
No asuma que otros desarrolladores pueden escribir código limpio, usar bloqueos y verificar códigos de retorno.
Recuerde que diferentes teléfonos / tabletas funcionan a diferentes velocidades.
No bloquee la preferencia más de lo absolutamente necesario, preferiblemente de ninguna manera.
Permita que los usuarios intenten ejecutar la aplicación varias veces.
No utilice llamadas a funciones que “bloqueen” (deje de ejecutar las cosas hasta que ocurra algún evento). Son malos juju.
Poner compacidad primero, velocidad segundo. Agrega tiempo pero resta dolores de cabeza.
No escriba la versión milmillonésima de algo de lo que todos están cansados, a menos que haya una recompensa especial por eso.

Por último, los gráficos. Siempre verifique la resolución real de la pantalla, nunca suponga que tiene una paleta de colores decente y recuerde que otras aplicaciones pueden tomar la pantalla física u otros canales de E / S como el sonido.

Con la excepción de la compacidad que tiene prioridad absoluta y la prohibición absoluta de la memoria dinámica, absolutamente todo esto debería ser riguroso para toda la programación, ya sea que esté buscando escribir un juego para un Kindle, un competidor de Windows, un enrutador de Internet, un marcapasos controlado por computadora (aunque probablemente no tenga que preocuparse demasiado por los gráficos allí) o un rival de Google.

La compacidad solo tiene prioridad en los sistemas integrados (enrutadores, marcapasos, ese tipo de cosas) y otros dispositivos con memoria muy limitada y sin medios para cambiar a / desde un dispositivo de almacenamiento más grande. De lo contrario, desea una compacidad suficiente para asegurarse de que su codificación sea correcta, ni más ni menos.

La memoria dinámica nunca debe usarse en tales sistemas y debe usarse con moderación en sistemas que hacen MUCHO (es una fuente importante de fallas de seguridad y otros tipos de errores de programación, y puede provocar que un programa incorrecto provoque el bloqueo de uno correcto impredecible – cosas realmente desagradables). Si necesita usarlo, hay asignadores alternativos que usan un grupo preasignado. No es perfecto, pero está a salvo de interferencias y generalmente es más rápido.

More Interesting

¿Cuál es la mejor agencia de desarrollo de aplicaciones de Android en Canadá?

¿Por qué la mayoría de las aplicaciones móviles multiplataforma usan iCloud y Google Cloud para la sincronización en lugar de usar un servidor al que se puede acceder desde cualquier sistema operativo móvil? ¿Son más baratos (quizás gratis) o más seguros?

Cómo registrar una idea para una aplicación móvil para minimizar la amenaza de concepto en la etapa de desarrollo

¿Qué debemos hacer si un cliente se niega a pagar por el desarrollo de la aplicación?

Cómo construir una aplicación móvil con una inversión mínima

¿Cuáles son las principales agencias de aplicaciones móviles en Japón?

¿Cuáles son las diferencias entre una aplicación independiente y una aplicación de servidor cliente?

Para las clasificaciones orgánicas, ¿es mejor tener un sitio móvil separado (m.url.com) o un diseño receptivo (en url.com)? Explique los pros y los contras y la cantidad de impacto, por favor.

¿Cuánto cuesta construir una aplicación como SnapChat?

¿Cuánto cuesta hacer una aplicación como flipkart?

Desarrolladores de aplicaciones: ¿a dónde acudir para obtener consejos sobre cómo hacer que las aplicaciones sean accesibles?

¿Cuáles son las mejores empresas de desarrollo de aplicaciones móviles en Toronto?

¿Qué elegirías, desarrollo de aplicaciones móviles o big data, si quieres ser emprendedor?

¿Cuál es una buena máquina de nivel de entrada para ejecutar Xcode para el desarrollo de iPhone?

¿Dónde puedo encontrar la mejor empresa de diseño de aplicaciones móviles?