No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
8 Hrs
53 Min
22 Seg

Fundamentos de sistemas operativos móviles

22/32
Recursos

A diferencia de los sistemas para escritorio, los sistemas operativos móviles tienen extrema seguridad en la forma en la que se instalan apps y en la que se accede a partes específicas de hardware. Los dispositivos móviles son diferentes completamente a una computadora normal, y es más fácil que un usuario inexperto caiga en situaciones vulnerables.

Cómo funcionan los Sistemas Operativos móviles

En Android existe la Google Play Store. También Amazon Fire Store. Para lanzar una app, previamente se debe enviar a los que permitan distribuirla. Se debe declarar que permisos se usarán (escritura en disco, GPS, Cámara). Este es uno de los motivos por los que debemos tener cuidado sobre que tipo de aplicaciones cargamos a nuestro Android.

En iOS solo existe la App Store.
Una serie de hackers rompieron la seguridad del sistema operativo para saltarse los anillos de privilegios y teníamos a Cydia, para poder instalar apps con Cydia había que hacer Jailbreak al iPhone.

Permisos de acceso

Se pide permiso por cosas como: GPS, cámara, acelerómetro, micrófono, contactos, galería, sistema de archivos.

Android : Permite acceder a la SD card, y al sistema de archivos linux (*nix).

iOS : Usa contenedores internos para las Apps llamado “SandBox”. Aísla a las apps para que no se pueda acceder a los archivos desde una app a otra.
Su sistema interno se basa en un API llamado “File Sharing API”. Cuando le damos a compartir archivo a una app, se crea un puente temporal entre ellas.
La forma en la que Apple espera que alguien guarde información desde a una app es iOS Cloud.

El único sistema de archivos que comparte tanto iOS como Android es la galería de fotos.

En ambos sistemas operativos podemos modificar los permisos, el tema es que muchas apps dependen de algunos de ellos.
mobile-dev_317cde74-3955-4c7d-92ac-f4c1783ae8c6.jpg

Cómo están desarrollados los SO de los moviles

iOS y Android = Nativamente C++
Pocos usan C++ para desarrollar sus apps.

Android = Nativamente JAVA con Api Dalvik.

iOS = Historicamente era Objective-C. Pero ahora es SWIFT.
Objective-C era un lenguaje viejo basado en Next, de más bajo nivel pero superrápido.
Swift es más similar a Ruby o al nuevo JavaScript.

En ambos se puede con otros lenguajes como JavaScript c#, c++ gracias a API’s. Se puede desarrollar Apps multiplataforma en entornos para juegos como Unity y Unreal.

Como entornos de desarrollo específicos para apps se puede utilizar Android Studio y Xcode para iOS.

Contribución creada con los aportes de:Josan Guerra y Mayra López

Aportes 208

Preguntas 39

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Anotaciones de la clase




viendo esta clase, uno se puede dar cuenta de que algunas aplicaciones piden permisos que vemos innecesarios, ejemplo, un aplicacion de emm no se, un juego de habilidad mental ¿para que necesita acceder a la galeria, a los contactos, a la gps? es algo innecesario, por eso debemos fijarnos muy bien los permisos que damos al descargar y no hacer de cuenta que estamos en el pc dando next, next, next

DATO CURIOSO
Fue lanzado originalmente como una alternativa de código abierto
para Installer.app en iOS 1.1x, pero pronto se convirtió en el gesto de paquetes
más popular y actualmente sigue manteniendo ese honor.
El nombre de Cydia proviene del nombre del gusano común que se alimenta de manzanas,
Cydia pomonella, haciendo referencia a que se trata de una aplicación que se
mete dentro de los dispositivos de Apple y se “aprovecha” de ellos para alcanzar todo su potencial.

Lamento comentar esto, pero me temo que, estando a mediados de 2020, esta clase en concreto está muy desactualizada. No se menciona siquiera Kotlin (hoy ya es el lenguaje oficial de desarrollo de apps para Android, sustituyendo a Java), y los ejemplos de cuánto ganaban Apple o Google en 2014 pues… quedan muy lejanos ya.

Hay que regrabar esto, chicos.

A diferencia de los sistemas para escritorio, los sistemas operativos móviles tienen extrema seguridad en la forma en la que se instalan apps y en la que se accede a partes específicas de hardware.

Para lanzar una app, previamente se debe enviar a los que permitan distribuirla. Se debe declarar que permisos se usarán (escritura en disco, GPS, Cámara).

En Android existe la Google Play Store. También Amazon Fire Store.

En iOS solo existe la App Store.
Una serie de hackers rompieron la seguridad del sistema operativo para saltarse los anillos de privilegios y teníamos a Cydia, para poder instalar apps con Cydia habia que hacer Jailbreak al iPhone. así instalar una aplicación con permisos de admin desde Cydia. Hoy es casi imposible volver a instalar Cydia.

  • PERMISOS DE ACCESO

Se pide permiso por cosas como : GPS, cámara, acelerómetro, micrófono, contactos, galería, sistema de archivos.

**Android **: Permite acceder a la SD card, y al sistema de archivos linux (*nix).

**iOS **: Usa contenedores internos para las Apps llamado “SandBox”. Aísla a las apps para que no se pueda acceder a los archivos desde una app a otra.
Su sistema interno se basa en un API llamado “File Sharing API”. Cuando le damos a compartir archivo a una app, se crea un puente temporal entre ellas.
La forma en la que Apple espera que alguien guarde información desde a una app es iOS Cloud.

El único sistema de archivos que comparte tanto iOS como Android es la galería de fotos.

En ambos sistemas operativos podemos modificar los permisos, el tema es que muchas apps dependen de algunos de ellos.

  • DESARROLLO

iOS y Android = Nativamente C++
Pocos usan C++ para desarrollar sus apps.

**Android **= Nativamente JAVA con Api Dalvik.

**iOS **= Historicamente era Objective-C. Pero ahora es SWIFT.
Objective-C era un lenguaje viejo basado en Next, de más bajo nivel pero super rápido.
Swift es mas similar a Ruby o al nuevo JavaScript.

En ambos se puede con otros lenguajes como JavaScript c#, c++ gracias a API’s. Se puede desarollar Apps multiplataforma en entornos para juegos como Unity y Unreal.

Como entornos de desarrollo específicos para apps se puede usar AndroidStudio y Xcode para iOS.

Kotlin es desde el año 2017 un lenguaje de programación oficialmente reconocido por Google para el desarrollo de aplicaciones Android. En el 2011, la compañía checa JetBrains dio a conocer este lenguaje y, gracias a sus características y ventajas, ha sobrepasado a Java.

Si recien estan empezando con JAVASCRIPT les super recomiendo ver VUE.JS, con el creciemiento que tiene hoy 2020 y la aceptacion mundial van a tener trabajo seguro y es a mi entender mucho mas amigable para entender que react o angular

En la actualidad también puedes usar Flutter y Dart para desarrollar en Ios y Android.

Este link te ayudara a entender de forma general el proceso que se debe seguir para crear una app y de alguna forma es la versión actualizada de este video:
https://platzi.com/blog/como-crear-una-app/

Tantos cursos buenos por tomar, y tan poco tiempo para dedicarles…

El contenido requiere un poco de actualización:
Incluir:

  • Kotlin, Kotlin multiplatform
  • Flutter

Y por supuesto mencionar a Huawei y su situación especial.

Jejejeje hablando de cositas, Cydia sí que se termina instalando para saltarse los permisos de localización y gps en IOS… hasta hace muy poco (tipo Junio 2019), puedo dar fe que era la HERRAMIENTA para poder ser fly en Pokemon Go.

Flutter se programa en Dart, que es como una mezcla entre Java y Javascript, y alcanza los 60 fps. Vale la pena hecharle un ojo para desarrollo híbrido. (iOS y Android) y wink wink, también corre en web.

Actualización 2020
Google implementó un kit de desarrollo mayormente UI llamado “Flutter”, con el cual es totalmente posible desarrollar apps tanto para iOS como para Android con una sola base de código y con un funcionamiento nativo, muy parecido a tecnologías como React Native o Xamarin, usa un lenguaje llamado “Dart”. Me parece que incluso es posible desarrollar aplicaciones de escritorio.

Siempre es mejor desarrollar de forma nativa si queremos acceder a más funcionalidades del sistema y obtener un rendimiento mucho más alto.

Para android últimamente se ha estado usando un lenguaje de programación llamado Kotlin.
Acá dejo un poco de información para quién le interese más este mundo.

SO móviles

Difieren de los de escritorio en:

  • sobre todo, seguridad extrema
  • acceso a hardware especial
  • la forma en que se instalan las aplicaciones.

Como desarrollador de aplicaciones móviles:

  • Previamente, a enviar tu app, debes declarar qué permisos vas a usar a quienes te permiten distribuila.

Ejemplo: esta app va a utilizar el GPS o esta otra va a escribir en disco.

  • Solamente puedes distribuir tu aplicación a través de los sistemas autorizados.

Mundo de Android

  • Existe la google play store, también existe algo llamado Amazon fire store.
  • Puedes distribuir tu app através de play store o la tienda de amazon.
  • También Lo puedes hacer en cualquier android, no solamente en los android fires de amazon, solamente tienes que hacer un hack especial para poder instalarlo.
    Amazon fire store
  • Es la tienda de amazon para aplicaciónes móviles interna.
  • La desarrolló Amazon para escapar de la tienda de google.

Mundo de IOS

  • Es mucho más cerrado
  • Existe una forma de distribuir tus apps, por medio de la appstore.

Sistemas viejísimos

Cydia

  • Era una forma de distribuir aplicaciones, básicamente, tenías que hackear tu iphone.
  • De esta forma inició la distribución de apps en IOS
  • Hoy es casi es imposible volver a tener cydia en los iphones y simplemente usamos la appstore.

Hace muchos años, Steve Jobs no quería que haya apps en IOS, por lo que una serie de hackers rompieron la seguridad del sistema operativo encontrando vulnerabilidades, saltaron los anillos de privilegios e instalaron con permisos de administrador Cydia.

Esta era la forma de distribuir apps y no pasa en otros sistemas operativos.


Instalar apps no oficiales

Mac

Tiene la appstore pero puedes bajarte un archivo llamado dmg e instalar cualquier aplicación.

Windows

Tiene la windows store de microsoft para aplicaciones pero puedes bajarte un .exe, dar next y finish para instalar cualquier otra.

Linux

Tiene algo especial llamado los distribuidores de paquetes como aptget, jum.

Archivos de linea de comando que permiten descargar aplicaciones de un repositorio central controlado por las distribuciones de linux.

  • CURIOSIDAD

    En windows y mac también existen distribuidores de paquetes, sobre todo para aplicaciones orientas a hackers y a personas extremadamente entusiastas de la tecnología.

    • Para MAC → hombru
    • Para Windows → chocolati.

Permisos de acceso

  • Ambos sistemas operativos requieren que tu aplicación pida permisos de acceso, de manera manifiesta y directa, a las cosas que quieres usar.

Por ejemplo, si quieres instalar una app como uber, tienes que decir “necesito que por favor me des permiso al gps”


Permisos típicos de Apps móviles

SISTEMAS DE ARCHIVOS

  • Existe una diferencia clave entre android y ios.
  • El único sistema de archivos que realmente comparte, tanto IOS como android y todas las apps dentro de IOS, es la galería de fotos todos tienen acceso a fotos y videos (galería multimedia) mientras la app obtenga, pida el permiso y el usuario se lo dé.

Android

  • Te permite acceder a la tarjeta sd si el dispositivo lo permite.
  • Tiene un sistema de archivos interno basado completamente en un sistema linux o sistema *nix.

Esto significa que cualquier aplicación de android puede ,internamente, guardar datos y luego decides si quieres utilizar servicios de cloud.

IOS

  • Usa un sistema de contenedores internos para sus apps.

  • Basado en una teoría “SANDBOX”, basicamente aisla a las apps.

    Se trata de un entorno de pruebas aislado dentro de un sistema que permite ejecutar ciertas acciones de un programa escudando el hardware para que no pueda ser dañado.

Ejemplo: el archivo que guardas en una app de notas de voz no lo puedes acceder desde whatsapp, un archivo de voz de whatsapp no lo puedes subir por telegram, ya que todo está aislado en contenedores.

COMPARTIR ARCHIVOS ENTRE APPS

Guardar información en una app


Configuración de permisos

  • Tanto en android como ios, en sus sistemas de setings, puedes activar y desactivar de manera selectiva estos permisos.
  • Recuerda que hay apps cuyo código depende de que el permiso exista, algunas pueden crashear y o decirte que sin ese permiso no puede funcionar.

Desarrollo de apps para estos Sistemas

  • Tener en mente cómo se desarrollan.
  • Ambos pueden usar C++, C puro, pero pocas personas desarrollan en C.

Android

  • Nativamente usas Java y una API o una extensión de Java conocida como Dalvik.
  • También es posible desarrollar en otros lenguajes como:
    • Reaknative → JavaScript
    • Ionic → Angular
    • Samarin → C#

iOS

Históricamente y hasta ahora, se puede utilizar Objetive C.

También puedes emplear el lenguaje que Apple creó, Swift.

  • OBJETIVE C

    Es un lenguaje viejo, basado en Next y en el sistema de Mac original

    Es muy cercano al procesador y muy veloz.

  • SWIFT

    • Es un lenguaje que Apple originó, su fundador se fue de apple.
    • Es muy nuevo y parecido a Ruby o a Python o al nuevo JavaScript.
    • Hace que la aplicación sea mucho más fácil de desarrollar y que programar sea un poco más sencillo que la programación en C.
    • El costo es un poquito de rendimiento.

En ambos

  • Puedes usar C#, C++, entornos especiales de desarrollo como Unity, Unreal y otros sistemas que son multiplataforma.

    Unity - Unreal

    • Estos lenguajes se emplean para desarrollar videojuegos
    • Son entornos especializados de desarrollo
    • Difieren un poco a lo que normalmente encontramos.

Forma por excelencia para desarrollar apps

IOS → Xcode

  • Software producido por Apple
  • Ha pasado por muchas generaciones
  • Era un entorno que todos odiaban, pero ahora es uno de los mejores para desarrollo de aplicaciones nativas para Mac, apple, watch o para iOS
  • Puedes desarrollar aplicaciones más extrañas, como para apple tv.

Android → Android studio

  • La desarrolló Google, un sistema basado originalmente en eclipse.
  • Es un entorno de desarrollo para java.
  • Era super feo al principio, pero ahora se volvió su propio sistema completamente aparte y está muy optimizado para desarrollar aplicaciones móviles.
  • Es la forma de producir aplicaciones nativas para Android.

¿Qué pasa con el dinero?

En el mismo periodo de tiempo:

  • La tienda de Android, en 2014, le entregó a los desarrolladores $7B usd…
  • La tienda de Apple, app store, le entregó a los desarrolladores $10B usd

La diferencia es fuerte, Apple gana, es un poco más difícil desarrollar para Android, el mercado es mucho más grande y en ambos lugares hay conexión.

  • Hay que tener en cuenta que en el mundo de Google se puede ganar dinero vendiendo anuncios. Lo que es más poco común en el mundo de apple.
    • Google es el dueño de Adsense y admode, la forma por defecto de ganar dinero con anuncios.
    • Apple siempre ha sido superorgullosa que de ellos tienen más tarjetas de crédito que nadie y la gran mayoría de gente simplemente cobra.

Mundo híbrido

  • Aquí se utilizan cosas intermedias internas para desarrollar aplicaciones.

  • Hay herramientas que puedes usar para programar una vez y distribuir la app tanto en Android como en iOS.

  • El problema es que el rendimiento va a ser inferior, porque muchas de las cosas que están haciendo las están emulando y ninguna de ellas se acerca al desarrollo nativo, a pesar de que están muy cercanas a ello.

  • Cuando desarrollas tienes que decidir en qué casos utilizarla y en qué casos no.

    Si te gusta:

    • C# y el mundo de microsoft.
      • Puedes utilizar Xamarin, es de microsoft y te permite desarrollar aplicaciones nativas para Windows, aparte de IOS y android. Usa C# internamente.
    • JavaScript, en particular React:
      • La forma de desarrollar aplicaciones nativas se llama react native, tiene la gran ventaja de que facebook está detrás de react por ello probablemente vas a tener soporte.
    • Google y los firmware complejos de JavaScript:
      • A través de angular JS hay un sistema llamado IONIC, basado en angular que te permite de esas apps angular crear aplicaciones multiplataforma.

En el pasado distante, hace muchos años, existÍa Phone gap, está un poco en desuso y antes la existencia de cosas como samarin, react native y ionic estás son opciones simplemente superiores para el desarrollo de apps nativas híbridas que funcionan en todos los sistemas operativos móviles.


Crash informático

  • Se produce cuando un programa de computadora, como una aplicación de software o un sistema operativo, deja de funcionar correctamente y deja de responder o termina su ejecución.

  • A menudo el programa responsable del crash puede quedar bloqueado hasta que un servicio de informes de fallos informa del incidente y proporciona los detalles.

  • Si el programa es una parte crítica del sistema operativo, todo el sistema puede bloquearse, lo que a menudo resulta en un “kernel panic” o en un “error fatal del sistema”.

Recuerdo haberme sentido muy raro cuando me prometieron hacer aplicaciones sin saber programar y llegar a ganar 2000 USD mensuales vendiendo publicidad, fue horrible, todo eran plantillas feas y no se les podía sacar demasiado provecho

Actualmente también existen alternativas para apps multiplataforma como Flutter usando dart, y ionic ahora es compatible con cualquier framework de Javascript, no exclusivamente ionic

Es complicado el uso de permisos en aplicaciones. La gran mayoría no lee los permisos que le están dando a esas aplicaciones, o simplemente estas tienen demasiadas solicitudes de permiso que no usan nunca y con ello entran en sospecha de posibles usos ocultos.

Me he dado cuenta de que la primera del curso trata de hardware y la segunda está centrada en el software y desarrollo de aplicaciones

maravilloso

00:45 tiendas de apps
04:28 sistema de archivos
06:35 desarrollo
09:19 motivación 😃
10:33 desarrollo híbrido

A casi 2019, que opináis del movimiento que está haciendo Google con el futuro nuevo sistema operativo Fuchsia, que pretende adaptarse a los nuevos paradigmas de comunicación actuales y quizás resulte en una alternativa a _Android _con el lenguaje de programación híbrido Flutter

como se llamaba el sitio para descargar apps para windows ? chocolati? no lo encuentro mans

Clase 21
¿Que puedo aprender de esta clase?
¿Como puedo utilizarlo a nivel personal y a nivel profesional?
¿Para que me sirve este conocimiento?
¿CÓmo mejorará mi calidad de vida?
¿Cómo puedo ayudar a otras personas a través de este conocimiento?
¿Como puedo usar esta información para tomar mejores decisiones?

Puntos claves:
Los sistemas moviles tienen seguridad extrema
aqui tienes que declarar que permisos vas a usar
Android
Amazon Fire Store
Google Play Store
_____________________________________________-
IOS
Las Apps empezaron gracias a los hackers
Aquí usan la App Store
Solo IOS es tan restringido
Acceso a acelerómetros
Micrófonos
GPS
Accounts
Archivos
Super diferente en IOS y Android
IOS
Contenedores Sandbox
File Sharing API
IOS Cloud
Objective C
Swift
C#, C++, Unity
XCode
10 Billion en 2014
Android
Algunas Apps pueden decirme que sin un permiso X no funciona
Java (Dalvik)
React native
C#, C++, Unity
Android Studio
7Billion en 2014

En Escritorio
distribuidores de paquetes

Es preocupante algunos permisos que exigen algunas aplicaciones, que por momentos se ven como sin sentido, y que solo buscan poder obtener la mayor cantidad de datos para sus usarios.

Se puede entonces deducir que si queremos desarrollar para venta de app es mas rentable en iOS pero si por el contrario queremos desarrollar para apps gratuitas y vender publicidad en ellas es mas rentable Android. Pero igual pienso que se puede sacar provecho en cada comunidad de usuarios de OS.

El único sistema de archivo que realmente comparte entre Android y iOS es la galería de fotos (todos tienen accesos a la galeria de fotos y videos) mientras la App pida el permiso y el usuario se lo de.

https://f-droid.org/ es otra opción para instalar aplicaciones en Android.

F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.

Realmente hay mucha diferencia al realizar una app nativa en android Studio o xCode a hacerla multiplataforma con Xamarin por ejemplo? Tiene mejor rendimiento o cual seria la diferencia?

A veces es bueno, calmarse un poco Fredy… excelente curso!

Un dato que los compañeros mencionan bastante y que aun sigue siendo de suma importancia, es el conocer de Kotlin.
¿Qué es Kotlin?
Kotlin es un lenguaje de programación de código abierto creado por JetBrains que se ha popularizado gracias a que se puede utilizar para programar aplicaciones Android.

Este lenguaje es de tipo estático, ya que se puede desarrollar sobre JVM o JavaScript; o desde hace unos meses, incluso sin necesidad de ninguna de ellas, ya que paralelamente se está desarrollando en nativo con LLVM. Gracias a eso, es totalmente interoperable con código Java, lo que permite migrar de una forma gradual nuestros proyectos.

Historia de Kotlin
La historia de Kotlin se remonta a 2010, cuando JetBrains, la famosa empresa creadora de varios de los IDE más usados, como IntelliJ o WebStorm entre otros, publicó la primera versión de este lenguaje de programación.

En 2012 pasó a ser de código abierto, por lo que es un sistema de programación relativamente joven, aunque se ha convertido en fundamental para comprender la evolución de las aplicaciones para dispositivos móviles.

De hecho, no tuvo mucha popularidad en sus cinco primeros años de vida, y no fue hasta 2017, al anunciar Google que daría soporte a Kotlin, cuando finalmente empezó a ganar popularidad entre los desarrolladores de aplicaciones. Desde entonces, su adopción ha ido en aumento, y ha llegado a ser la opción preferida del 72 % de los developers a la hora de desarrollar para Android.

Características y ventajas de Kotlin
Kotlin destaca por las ventajas que tiene respecto a Java (hablaremos en profundidad un poco más adelante) a la hora de desarrollar aplicaciones móviles, además de por presentar características como simplificar la lectura del código y el propio desarrollo de este.

Estas son algunas de las ventajas y características de Kotlin.

Interoperabilidad con código Java
Una de las características principales de Kotlin es que está diseñado para interoperar completamente con la sintaxis del lenguaje de Java. Es decir, con una base de código existente escrita en Java, puede interactuar correctamente con Kotlin y viceversa.

Curva de aprendizaje sencilla
La sencillez de la sintaxis permite una curva de aprendizaje fluida, intuitiva y fácil de usar, perfecta para los que quieran aprender su primer lenguaje de programación. Además, como es de código abierto, hay un gran apoyo de la comunidad de Kotlin, lo que supone una gran ventaja.

Menor tiempo de programación
Uno de los puntos fuertes de Kotlin es que elimina el código redundante, además de ser compacto y conciso, lo que optimiza mucho el proceso de escritura de código y evita la repetición.

Orientado a objetos y programación funcional
Aunque lo habitual en el desarrollo de apps móviles es un paradigma orientado a objetivos, Kotlin demuestra que también se puede trabajar de la mano de la programación funcional. La posibilidad de trabajar con lambdas en este entorno simplifica las tareas más comunes y tediosas en el desarrollo.

Corrutinas
Otra de las grandes ventajas de Kotlin es que las corrutinas optimizan la programación asíncrona. Simplifican así el aburrido trabajo de las llamadas de red y acceso a las bases de datos, y dejan atrás los callbacks.

Desarrollo multiplataforma
Kotlin se puede utilizar para cualquier tipo de desarrollo, desde la web del lado del servidor y del lado del cliente, hasta Android e iOS. Como el lenguaje se ejecuta en JVM, permite compartir código entre diferentes plataformas.

Flexibilidad
Kotlin da a los desarrolladores libertad de trabajar con el estilo que elijan. Por tanto, es un lenguaje altamente flexible que tiene construcciones funcionales y orientadas a objetos. Todo ello se traduce en una mejor experiencia a la hora de programar.

Kotlin vs. Java
Ya hemos enumerado las grandes ventajas y características que presenta Kotlin, pero vuelve a surgir el gran debate mencionado más arriba sobre la ‘lucha’ entre Kotlin y Java.

Java cuenta con una gran trayectoria dentro de las comunidades más extensas del mundo web. Sin embargo, el uso de Kotlin se incrementa día a día, sobre todo para desarrollar aplicaciones móviles en Android. ¿Qué los hace diferentes?

Es una pregunta muy difícil de contestar, pues Java es uno de los lenguajes de programación más utilizados a la hora de desarrollar apps móviles, pero no es la única opción. Estas son algunas de las diferencias:

En Java, mucha redundancia da como resultado un código detallado y más largo. Kotlin es más moderno y se ha simplificado, lo que facilita el aprendizaje de los principiantes.
Kotlin ha abordado una serie de problemas de Java, como que no hay tipos sin procesar, las referencias nulas están controladas por el sistema de tipos o no tiene excepciones marcadas. Esto hace que sea un lenguaje muy útil para los desarrolladores.
Además, Java tiene otros problemas con respecto a los bloques interminables, la falta de extensibilidad o la falta de soporte para programación funcional.
La sintaxis de Java es muy verborrágica, especialmente comparada con un lenguaje moderno como Kotlin.
En comparación con Java, Kotlin es más seguro. Kotlin es Null Safe, es decir, por defecto los objetos son not-null y si intentamos asignar un null a una variable directamente no va a compilar. Sin embargo, en Java son muy propensos a errores.
Desarrollar con Kotlin puede conseguir una reducción del 40 % en el número de líneas de código si lo comparamos con Java.

Buena explicación!

Wow interesante

Esta información es de suma importancia para mi en estos momentos.

Excelente

Excelente introducción al mundo de las apps

Galaxy store vienen siendo otro distribuidor autorizado como google play store, verdad?

genial

Muy buena introducción para los sistemas móviles

Existe un framework para desarrollar en python para Android. Se llama kivy
https://kivy.org/#home

Me interesa

¿La aplicación Uber con que tecnologías esta hecha y cuál es su arquitectura?

Android Studio es el entorno de desarrollo integrado oficial para la plataforma Android. Permite desarrollar programas en Java, Kotlin y C++

FLUTTER ♥ mejor opción iOS y Android sólo que en el año de grabación aún no era tan popular.

Muy buena clase, me quedo claro las diferencias básicas entre estos dos S.O. para dispositivos móviles y curioso como el hecho de Cydia crearia una gran oportunidad de negocio para Apple.

Una actualización a esta clase seria considerar la App Galery de Huawei para instalar apps en Android, cada vez mas aplicaciones estan haciendo los ajustes para aparecer en esta.

interesante esta clase, aunque creo que ya viene siendo necesaria una actualizacion de su contenido. Han salido nuevas tecnologias hibridas muy interesantes como el caso de flutter.

Tengo entendido que Android no te cobra por subir tus App y iOS si te cobra, pero seguro habrá una diferencia, al momento del pago por tu trabajo

supongo que esta es la primera fase para elegir tu camino como desarrollador movil, epsero tomar la desicion correcta mis panas

Es super interesante saber cuántos lenguajes de programación existen para el desarrollo de apicaciones en los diferentes dispositivos móviles.
Me ha motivado a querer aprender todooooo.

Es impresionante ver como en tan poco tiempo hemos cambiado tanto (en el hámbito tecnológico) y seguiremos cambiando con un ristmo aún más acelerado.

Para la creación de aplicaciones híbridas también existe Flutter que utiliza el lenguaje Dart, y en Ionic también puedes utilizar el framework Reacjs.

Y donde dejan Kotlin? Cuantos developers en Android no lo andamos usando hoy dia…

Actualmente existe un framework de Dart llamado Flutter para el desarrollo híbrido de aplicaciones Android / iOS, este framework fue desarrollado por Google, así que tendrá apoyo por mucho tiempo. Es muy útil ya que utiliza widgets y librerías ya creadas, esto optimiza en gran medida el desarrollo de aplicaciones en tiempo record.

1 billón = 1 millón de millones

Y que tal kotlin?

Bien

Pense que el android verde era shrek :v

Te olvidaste de kotlin sr. Freddy

Estoy probando un SO móvil denominado Sailfish OS.
https://sailfishos.org/

muy bien explicado

excelentes fundametos de SO moviles

La seguridad en los sistemas operativos móviles es más alta.

se para en el minuto 11:06

Flutter se posicionaría en el sistema hibrido?

uuuu me dieron ganas de aprender a crear apps

Excelente video!!

Chris Lattner, diseñador de Swift

Apache tambien tiene a Cordova para desarrollo cross-platform: https://cordova.apache.org/ 😃

Nativo hasta la muerte! Uuuaaaa

Si quiero!

Son interesantes las diferencias entre Android y iOS.
Encontre un resumen en una imagen

Sinceramente esta clase no me motivó del todo. Siento que el ánimo de Freddy varió en los útlimos videos, no sé si son ideas mías o qué.

te amo vega

y Kotlin?

eatoy metida en el eatusio-…me encanta,estoy cogiendo el hilo

Vengo del futuro y existe algo llamado Electron js :3 es una plataforma para desarrollar aplicaciones de escritorio usando tecnologías web (HTML, CSS y JavaScript) creada y mantenida por Github.

no mencionó a pacman de archlinux 😔

¿Alguien de 2021?
Me puse a investigar sobre cydia y al parecer es facil, sin embargo fue una investigación rápida, no puedo asegurar que tan efectivo sea.
https://www.youtube.com/watch?v=cR1wdek_Pn4

Lamentablemente los archivos DMG están diseñados sólo para poder abrirse en un Mac, por lo que no será posible abrirlo desde un dispositivo iOS aún. Sin embargo si este pertenece a archivos y no programas (usualmente se usa para programas), puedes sacar los archivos del DMG y moverlos a una carpeta en iCloud para poder utilizarlos.

React Native usa el mismo paradigma fundamental de construcción de bloques de UI (componentes visuales con los que interacciona el usuario) que las aplicaciones nativas reales de Android e iOS, pero gestiona la interacción entre los mismos utilizando las capacidades de JavaScript y React.

Existen muchas aplicaciones en Google Play que piden acceso a TODO, cámara, llamadas, contactos, galería, gps, micrófono, etc…
En muchos casos he visto esto en juegos, juegos de un muñequito corriendo, con un millón de anuncios intrusivos. A fin de cuentas no entiendo para qué una app de este estilo necesita acceso a tantas cosas en mi dispositivo, esto es algo que siempre me ha mosqueado por lo que deniego el acceso y elimino estas aplicaciones. 😄
¿Es esto una falla de seguridad?

En 2021, las nuevas opciones para desarrollar apps son:

Android

  • Flutter (Dart)
  • Kotlin
  • NativeScript

iOS

  • SwiftUI
  • Flutter (Dart)
  • NativeScript

Los Billones de dolares a que se refiere, a ventas?

Hoy cual genera mas ingresos, la generacion y creacion de apps para equipos moviles o para PC?

Les dejo mis apuntes referentes a la clase:

Muy bueno

buena intro

Excelente!

Excelente informacion!.

Wow, que excelente clase !

Excelente, muy completa información.

Increible

La tienda de apps de Amazon no tiene nivel de comparacion con Google play.

En donde trabajo usamos Cordova. Pero siento que no tiene el mejor potencial para desarrollar en móvil.