¿Debería un desarrollador de iOS aprender SQL? ¿Por qué o por qué no?

TL; DR: No * posponga * entrar en el desarrollo de iOS solo porque no conoce SQL. El viaje de desarrollo de aplicaciones móviles es un revitalizante tropiezo multifacético a través de un bosque de paquetes, marcos, pods y pilas que están repletos de consejos de utilidad mixta. Vale la pena, con o sin SQL.

¿Necesitas aprender SQL?

Depende. Si está creando aplicaciones que viven completamente dentro del dispositivo móvil, entonces no necesitará mucho SQL.

Pero tan pronto como se te ocurra una idea de aplicación que requiera algún tipo de servidor back-end que lo admita, rápidamente descubrirás que almacenar datos en el servidor es muy fácil de hacer con una interfaz PHP a una base de datos SQL.

Esto me paso a mi. Al crear Juke Joint en App Store, supe que necesitaría:

  1. Un servidor. Esto requirió mucha investigación, incluida la búsqueda de iCloud, AWS, etc. Finalmente llegué a DigitalOcean: computación en la nube diseñada para desarrolladores donde tengo acceso completo a un servidor con suficiente empuje al menos mientras Juke Joint se quita los talones. Y por solo $ 5 / mes + $ 1 / mes para instantáneas semanales, ¡es un * robo *!
  2. Una base de datos Había trabajado con muchas personas que usaban SQL para varias cosas, pero me las arreglé para evitarlo por completo. Déjelo a un hobby (desarrollador de iOS) para forzar el problema. Compré un libro, SQL para Dummies. Pero mirando hacia atrás, ahora me pregunto por qué. Todo lo que he necesitado saber sobre SQL lo he encontrado a través de Google. El libro permanece sin abrir. Al tener acceso completo a un servidor (ver 1) pude poner en funcionamiento SQL rápidamente y crear una base de datos.
  3. Un servidor web Una base de datos necesita algún tipo de acceso externo para que sea útil, por lo general. Este fue ciertamente el caso aquí, ya que necesitaba poder acceder y actualizar los datos en la base de datos desde mi aplicación móvil. Ingrese nginx. Muy rápidamente tuve un servidor web en funcionamiento.
  4. Una API web. Una base de datos no puede estar en una isla. Necesita ser accesible. No tenía idea de cómo hacerlo. En viene PHP. Que idea tan fantástica. Los scripts PHP a los que se accede a través del servidor web proporcionan datos en las respuestas HTTP. Esa información proviene de la base de datos. ¡Perfecto!

Resultó que necesitaba mucho más que esto. Pero ese es el caso con casi cualquier viaje de aplicación móvil que he emprendido. Terminé creando una infraestructura completa detrás de la aplicación que estoy buscando patentar, o al menos poner delante de un profesional de patentes para que se rían.

Básicamente no es necesario, pero la necesidad de SQL depende del tipo de aplicación que cree. Debido a que algunas aplicaciones necesitan SQL en la base de datos de backend, es posible que algunas aplicaciones no lo necesiten. así que depende completamente del requisito de la aplicación. Pero al menos debe conocer los conceptos básicos de SQL.

[Puede ser, si obtienes un nuevo proyecto de aplicación basado en SQL en Backend,]

Puedo sugerirle los mejores cursos en línea de SQL, puede aprender de ellos.

  • El campo de arranque SQL completo
  • El último Bootcamp de MySQL: pase de principiante a experto de SQL
  • El curso completo de certificación Oracle SQL

ELIGE EL PRIMER CURSO ..

DE ESTE CURSO PUEDE APRENDER SOBRE:

Aprenderá a leer y escribir consultas complejas en una base de datos utilizando una de las habilidades más demandadas: PostgreSQL. Estas habilidades también son aplicables a cualquier otra base de datos SQL importante, como MySQL, Microsoft SQL Server, Amazon Redshift, Oracle y mucho más.

¡Aprender SQL es una de las formas más rápidas de mejorar tus perspectivas profesionales, ya que es una de las habilidades tecnológicas más demandadas! ¡En este curso aprenderás rápidamente y recibirás desafíos y pruebas en el camino para mejorar tu comprensión!

Y TAMBIÉN..

  • Use SQL para consultar una base de datos
  • Use SQL para realizar análisis de datos
  • Siéntase cómodo poniendo SQL y PostgreSQL en su currículum

TODO LO MEJOR……

[tl; dr] No necesita aprender SQL a menos que necesite consultar, unir y editar datos almacenados en una base de datos compatible con SQL en un dispositivo iOS o cargar comandos SQL en un servidor compatible con SQL

[Respuesta detallada]

Aprender el desarrollo de iOS se trata principalmente de comprender y usar los lenguajes Swift u Objective-C para acceder a la API de Cocoa Touch. El lenguaje SQL es útil como forma de consultar, unir y editar estructuras de datos y el uso de SQL está muy extendido fuera del desarrollo de iOS y es anterior a la plataforma iOS.

  1. si su aplicación solo necesita guardar y restaurar el estado entre el cierre y el relanzamiento de la aplicación (por ejemplo, qué UIView se mostró por última vez, el último contenido editable de UITextField), puede almacenarlos en la lista de propiedades usando NSDefault.
  2. Si su aplicación descarga, muestra y carga datos en sitios web, es probable que aprender json como una forma de empaquetar datos sea más útil.
  3. Si su aplicación necesita realizar consultas, manipular (por ejemplo, unir tablas para crear una nueva tabla) en un dispositivo iOS o cargar comandos SQL en un servidor compatible con SQL, entonces conocer SQL es útil.

Es bueno tener habilidad pero no es obligatorio. Cuando tenga conocimiento de SQL, lo ayudará a comprender el almacenamiento interno de datos en la base de datos SQLITE.

Debe comprender las relaciones, las tablas y las filas antes de tratar con SQLite en iOS.

Depende del tipo de aplicación que desee crear. Mi empresa crea muchas aplicaciones que necesitan mantener un caché local de datos en el dispositivo, y saber que SQL realmente es útil para esos casos.

Si bien puede tener una carrera exitosa en el desarrollo de iOS al no aprender SQL, la conclusión es que estaría mejor preparado como desarrollador para conocer los conceptos básicos de SQL. Si puede aprender Objective-C o Swift, puede aprender los conceptos básicos de SQL con bastante rapidez.

No es obligatorio, pero un desarrollador de iOS probablemente, tarde o temprano, tendrá que lidiar con bases de datos SQLite directamente, lo que requiere conocimiento sobre SQL.

Por lo general, las bases de datos pequeñas se configurarán a través de CoreData, en cuyo caso no es necesario ejecutar consultas directamente a través de SQL, o preocuparse mucho por el rendimiento.

Sin embargo, cuando una aplicación necesita estructuras de datos complejas o si tiene muchos datos que necesita filtrar de manera eficaz, SQLite se usa directamente.

Absolutamente. SQL básicamente está ejecutando el mundo en el que vivimos. Las aplicaciones hoy en día rara vez se sientan solas. En general, hay un servicio de back-end que se ejecuta detrás de él para autenticar a los usuarios y almacenar datos. Esto generalmente sucede con un DBMS de algún tipo y SQL resulta ser un sabor muy popular de eso.

Probablemente no necesite ser un experto, pero definitivamente debe aprender los conceptos básicos de escritura y optimización de consultas.

Los conceptos básicos de SQL son fáciles de aprender y MUCHOS sistemas lo usan. Recomendaría que cualquier desarrollador aprenda al menos los conceptos básicos.

En cuanto al desarrollo de aplicaciones móviles en general. Su nivel de necesidad generalmente se reducirá a la cantidad de datos que administra su aplicación. Si hay muy poco, es probable que no lo necesite. Si es mucho, es probable que lo necesite. Sin embargo, si espera una base de clientes muy grande y tiene muchos datos, miraría más allá de las técnicas SQL y buscaría un BaaS que le guste y aprendería la API RESTful para ese BaaS.

Tenía que hacerlo

Cualquier aplicación no trivial almacenará datos de alguna forma.


En mi caso, estaba almacenando datos de usuario a largo plazo en el disco duro usando Android / iOS SQLite.

Le sugerí la idea a mi jefe hace un tiempo, a pesar de que nunca antes había escrito ningún SQL. Apenas sabía qué era una base de datos.

Bueno, me zambullí, aprendí todo lo que pude, y ahora tenemos una solución de almacenamiento basada en SQLite en nuestras aplicaciones.


La mayoría de las aplicaciones tienen que hablar con alguna base de datos. Por lo general, es un servidor de fondo. Dondequiera que se almacenen sus datos, deben consultarse de alguna manera. SQL suele ser la forma de hacer que eso suceda.

Si tiene la oportunidad de aprender SQL para sus aplicaciones, hágalo. Solo te hace más útil.


Para que lo sepas, nunca hay una razón para no aprender nada. El aprendizaje es el alma de un desarrollador.

No soy un desarrollador profesional o semiprofesional, pero creo que todos los desarrolladores deben conocer SQL, esa es la mejor manera de almacenar y usar información en sus aplicaciones, especialmente si crea una aplicación en línea.