¿Cómo fue trabajar en iOS 1.0? ¿Cuáles fueron algunas lecciones aprendidas sobre el diseño y la escritura de una plataforma para un dispositivo nuevo?

La primera versión de iOS que admitía aplicaciones de terceros se llamaba iPhone OS 2.0. Era bastante similar al software actual, pero más limitado. Xcode fue aún más fastidioso. Los perfiles de aprovisionamiento y la firma de código eran problemáticos, funcionaban bien para algunos desarrolladores y no funcionaban para otros.

Las limitaciones de RAM con el primer iPhone fueron un gran problema, especialmente para las aplicaciones que usaban vistas web y de mapas.

Desarrollé una aplicación para iPad antes de que se enviara. Lo aprendido en el camino se aplica a la mayoría de las plataformas nuevas:

  1. Prueba todo en el simulador primero
  2. Prueba en redes deficientes: las conexiones celulares 2G eran bastante poco confiables y mucho más lentas que la conexión Ethernet o WiFi del simulador.
  3. Pruebe el código subyacente en iPhones siempre que sea posible. Era el hardware y el sistema más cercano al próximo iPad.
  4. Muchas pruebas unitarias
  5. Pruebe el uso de memoria y las fugas antes de enviar. El dispositivo es muy diferente al simulador.
  6. Prueba con zombies y otras herramientas de depuración habilitadas

Definitivamente hay algo divertido sobre el envío de software sin saber si realmente se ejecuta.

Técnicamente, no había iOS 1.0. Apple lanzó el primer iPhone con iPhone OS 1.0. No cambió su nombre a iOS hasta la versión 3.2, cuando se lanzó el iPad 1st gen.

Se rumorea que las aplicaciones internas iniciales escritas por Apple para el iPhone de primera generación fueron todas HTML. Sin embargo, antes del lanzamiento, descubrieron importantes deficiencias con este enfoque y, por lo tanto, volvieron a escribir en lo que ahora se conoce como aplicaciones “nativas” al crear UIKit.
Sin embargo, para obtener más información al respecto, necesitaremos un ingeniero de Apple que intervenga y nos muestre detrás de la cortina.

Comencé a codificar para iOS alrededor de noviembre de 2009. La última versión en ese momento, era la 3.0 (es decir, estaba emocionado de que Apple introdujera algo llamado CoreData y ya no tuviera que consultar SQLite directamente.)

El iPhone 3G, que tenía solo 128 MB de RAM, fue ampliamente utilizado y recientemente se lanzó 3GS con 256 MB de RAM. La administración de memoria fue un problema mayor, ¡especialmente si su aplicación usaba más imágenes! Evitamos Interface Builder y creamos programáticamente cada vista para obtener más control sobre la memoria.

La comunidad / tutoriales no eran tan buenos como lo que disfrutamos ahora. Pero, los desarrolladores de aplicaciones Mac rápidamente se dieron cuenta y ayudaron a la comunidad. Los foros de desarrolladores de Apple fueron la fuente principal, al menos para mí. Mis preguntas sobre Stackoverflow nunca fueron respondidas. Pero obtuve respuestas de los foros de Apple.

Y las pautas de revisión de la tienda de aplicaciones fueron más estrictas, que ni siquiera se puede imaginar desarrollar una aplicación de correo / navegador / mapa, ya que Apple ya tenía una.

Fue poco duro. Pero no mucho.

More Interesting

¿Debo ingresar para el desarrollo de aplicaciones iOS o Windows?

¿Cómo fue trabajar en iOS 1.0? ¿Cuáles fueron algunas lecciones aprendidas sobre el diseño y la escritura de una plataforma para un dispositivo nuevo?

¿Cómo le enseñarías a un no programador a hacer una aplicación de "instagram para video"?

¿Se pueden construir aplicaciones como Snapchat con Firebase?

Cómo comenzar el desarrollo de iOS usando Swift

Cómo aprender a diseñar aplicaciones de iOS mediante programación

¿Qué iPad POS es actualmente el más confiable para un restaurante?

¿Hay alguna forma de descargar e instalar las versiones anteriores de aplicaciones de iOS en un iPad anterior que solo sea compatible con iOS 5.1.1? Alternativamente, ¿hay alguna manera de forzar la actualización de esta cosa a una versión más nueva de iOS?

¿Qué motor de juego 2D es el mejor para hacer juegos de iPhone?

¿Cuál es una buena fuente para los puntos de referencia de la aplicación iOS?

¿Necesito crear términos de uso para mi aplicación iOS?

¿Puede una persona usar el nuevo lenguaje de programación Swift de Apple para desarrollar un nuevo sistema operativo, lejos del sistema operativo de Apple? ¿O solo puedes hacer aplicaciones?

¿Cuáles son las aplicaciones imprescindibles de iOS para alguien que vive en Bangalore?

¿Cuántos de ustedes pierden la función clásica de deslizar para desbloquear en dispositivos iOS?

Cómo cargar imágenes desde una URL a CollectionView usando Swift