Mohammad Azam is an iOS instructor who has worked as a lead mobile developer for several companies and created an educational YouTube channel. He teaches at The Iron Yard, a code school with 22 campus locations that prepares students for careers in technology through 12-week courses. Azam discusses the importance of writing organized code to avoid creating massive, difficult to manage controllers and shares a code repository as an example of better practices.
Este documento describe las extensiones en iOS 8, incluyendo extensiones "Share", "Action", de edición de fotos, "Today", "Document Provider" y de teclado. Explica que las extensiones permiten programar funcionalidad fuera de las aplicaciones y en el sistema o en otras aplicaciones. Proporciona ejemplos de cómo cada tipo de extensión puede utilizarse, como una extensión "Today" que muestra noticias o una extensión de teclado personalizada.
iR Control es una aplicación que permite controlar dispositivos electrónicos como televisores, reproductores Blu-ray y luces desde un iPhone, iPod Touch o iPad a través de señales infrarrojas. La aplicación utiliza modulación de frecuencia de desplazamiento para enviar señales infrarrojas a los dispositivos mediante un hardware de acceso fácil de construir. El código fuente de la aplicación y el hardware están disponibles de forma gratuita en GitHub bajo licencia open source.
Simplify your Life with Message Extensions in iOS 10NSCoder Mexico
This document provides an overview and summary of Messages extensions in iOS 10. It discusses how to create stickers and iMessage apps, which allow adding interactive experiences and custom responses directly within the Messages app. The document is authored by Mohammad Azam, an iOS instructor who has worked on mobile apps for several large companies. It promotes an Udemy course by Azam on creating stickers and iMessage apps in iOS 10 using Swift 3.
Mohammad Azam is an iOS instructor who has worked as a lead mobile developer for several companies and created an educational YouTube channel. He teaches at The Iron Yard, a code school with 22 campus locations that prepares students for careers in technology through 12-week courses. Azam discusses the importance of writing organized code to avoid creating massive, difficult to manage controllers and shares a code repository as an example of better practices.
Este documento describe las extensiones en iOS 8, incluyendo extensiones "Share", "Action", de edición de fotos, "Today", "Document Provider" y de teclado. Explica que las extensiones permiten programar funcionalidad fuera de las aplicaciones y en el sistema o en otras aplicaciones. Proporciona ejemplos de cómo cada tipo de extensión puede utilizarse, como una extensión "Today" que muestra noticias o una extensión de teclado personalizada.
iR Control es una aplicación que permite controlar dispositivos electrónicos como televisores, reproductores Blu-ray y luces desde un iPhone, iPod Touch o iPad a través de señales infrarrojas. La aplicación utiliza modulación de frecuencia de desplazamiento para enviar señales infrarrojas a los dispositivos mediante un hardware de acceso fácil de construir. El código fuente de la aplicación y el hardware están disponibles de forma gratuita en GitHub bajo licencia open source.
Simplify your Life with Message Extensions in iOS 10NSCoder Mexico
This document provides an overview and summary of Messages extensions in iOS 10. It discusses how to create stickers and iMessage apps, which allow adding interactive experiences and custom responses directly within the Messages app. The document is authored by Mohammad Azam, an iOS instructor who has worked on mobile apps for several large companies. It promotes an Udemy course by Azam on creating stickers and iMessage apps in iOS 10 using Swift 3.
Spotify has over 60 million active users who can access over 30 million songs, with 20,000 new songs added daily. The Spotify iOS app has millions of users and over 500,000 lines of code contributed by 40 developers monthly. To manage this large codebase, the developers use feature branches, continuous integration, code reviews, unit tests, and automated tests to catch errors and prevent regressions. They also implement an A/B rollout process to merge features to master in a controlled manner and reduce merge conflicts.
Realm es una base de datos móvil alternativa a CoreData y SQLite. Ofrece un modelo de datos relacional con objetos, relaciones, consultas y migraciones. Es más simple y rápido que CoreData. Grandes empresas como Groupon, Dubsmash y Wahoo lo usan en cientos de millones de dispositivos. Realm puede usarse en iOS, Android y otras plataformas a través de APIs en Objective-C, Swift, Java y otras tecnologías.
Auto Layout es un sistema para crear interfaces adaptables a diferentes pantallas mediante el uso de relaciones y constraints entre los elementos de la interfaz. Permite especificar attributes como leading, trailing, top y bottom constraints para posicionar elementos y también height, width y constant constraints para especificar tamaños. Size Classes permite adaptar la interfaz para diferentes tipos y orientaciones de dispositivos usando categorías como Any, Compact y Regular en lugar de verificar el modelo de dispositivo específico.
NSCoder Swift - An Introduction to SwiftAndreas Blick
The document provides an overview of the Swift programming language, introducing key concepts like variables and constants, strings, numbers, arrays, dictionaries, tuples, loops, conditionals, functions, closures, classes, properties, methods, initialization, and inheritance. It describes Swift as a modern language that builds on C and Objective-C without compatibility constraints, and supports safe patterns, modern features, and seamless access to Cocoa frameworks.
Automatizar captura de pantallas con FastlaneNSCoder Mexico
Fastlane es una herramienta que automatiza el proceso de generar capturas de pantalla para diferentes tamaños de pantalla e idiomas requeridos para subir una aplicación a la App Store, evitando tener que tomar manualmente cientos de capturas de pantalla. El documento describe cómo Fastlane puede generar automáticamente las 150 capturas de pantalla necesarias para 5 idiomas en 6 tamaños de pantalla diferentes.
This document provides an overview of the Apple Watch, WatchOS, and developing apps for the Apple Watch. It discusses the hardware specifications of Apple Watch models, the WatchOS user interface which is based on iOS, app components like complications and notifications, and the software development process for Apple Watch apps using WatchKit.
Como novato, Source Control Management (SCM), Version Control System (VCS) pueden escucharse como términos complejos al principio, sin embargo adoptar un sistema que me ayudara en el control de las versiones de mi trabajo se convirtió en algo muy útil. También puede serlo para tí sin importar si debes coordinar un equipo de desarrollo compuesto de uno o de muchos integrantes.
No importa si eres programador, diseñador web o gráfico. Usar un Sistema de Control de Versiones es lo mejor que puedes hacer para tu proyecto. Y Git es de los mejores. Git es un Sistema de Control de Versiones gratuito, Open Source y fue diseñado teniendo en mente a los proyectos desde los pequeños hasta los muy grandes sin sacrificar velocidad ni eficiencia.
Gamificación y Objetos de Aprendizaje son de los términos más usados en los ámbitos docentes y de innovación en los últimos años. Esto se debe, en gran medida, a la eficacia probada de su aplicación.
Como desarrollar una App estilo Uber para el mercado Mexicano. Se explicaran el uso de frameworks de websockets, geolocalización, pagos y más.
Fernando Gutiérrez Lozano (@fernando_gl_) y Salvador Rodríguez Dávila (@srdzdv)
Este documento explica cómo crear un archivo .gitignore para ignorar archivos que no se desean incluir en un repositorio Git, como archivos con contraseñas, archivos de configuración específicos de la máquina, archivos temporales o logs innecesarios. Describe las reglas y patrones que se pueden usar en el archivo .gitignore como *, ?, [], / y !, y proporciona enlaces a recursos adicionales sobre el uso de .gitignore.
Swift is a programming language introduced by Apple in 2014 that aims to be an industrial-quality systems programming language while also being as expressive and enjoyable as scripting languages. While some were initially skeptical of Swift, it has received significant support from Apple and learning it allows developers to learn new concepts, satisfy their curiosity, and use interactive playgrounds. Swift also provides an opportunity to see if Apple can succeed in creating a language focused on two different goals.
tvOS es una variación de iOS que gestiona lo que el Apple TV muestra en la pantalla de la televisión, permitiendo a los desarrolladores crear aplicaciones para televisores similares a las de iOS. tvOS ofrece a los desarrolladores casi todas las mismas capacidades que iOS, funcionando el Apple TV como una plataforma para aplicaciones de televisión.
Descripción de la plática:
CoreML es el puente entre iOS y Machine Learning, pero con ciertas limitantes. Explotaremos el potencial que tiene CoreML, responderemos las siguientes preguntas:
- ¿Cómo podríamos ir más allá de los límites de CoreML?
- ¿Cómo puede nuestra App aprender de la experiencia?
In-App purchases es la manera en la cual podemos integrar compras o suscripciones dentro de nuestras apps para ofrecer ya sea contenido extra o nuevas características en las mismas. Integraremos StoreKit en una aplicación en vivo para verlo en acción.
Spotify has over 60 million active users who can access over 30 million songs, with 20,000 new songs added daily. The Spotify iOS app has millions of users and over 500,000 lines of code contributed by 40 developers monthly. To manage this large codebase, the developers use feature branches, continuous integration, code reviews, unit tests, and automated tests to catch errors and prevent regressions. They also implement an A/B rollout process to merge features to master in a controlled manner and reduce merge conflicts.
Realm es una base de datos móvil alternativa a CoreData y SQLite. Ofrece un modelo de datos relacional con objetos, relaciones, consultas y migraciones. Es más simple y rápido que CoreData. Grandes empresas como Groupon, Dubsmash y Wahoo lo usan en cientos de millones de dispositivos. Realm puede usarse en iOS, Android y otras plataformas a través de APIs en Objective-C, Swift, Java y otras tecnologías.
Auto Layout es un sistema para crear interfaces adaptables a diferentes pantallas mediante el uso de relaciones y constraints entre los elementos de la interfaz. Permite especificar attributes como leading, trailing, top y bottom constraints para posicionar elementos y también height, width y constant constraints para especificar tamaños. Size Classes permite adaptar la interfaz para diferentes tipos y orientaciones de dispositivos usando categorías como Any, Compact y Regular en lugar de verificar el modelo de dispositivo específico.
NSCoder Swift - An Introduction to SwiftAndreas Blick
The document provides an overview of the Swift programming language, introducing key concepts like variables and constants, strings, numbers, arrays, dictionaries, tuples, loops, conditionals, functions, closures, classes, properties, methods, initialization, and inheritance. It describes Swift as a modern language that builds on C and Objective-C without compatibility constraints, and supports safe patterns, modern features, and seamless access to Cocoa frameworks.
Automatizar captura de pantallas con FastlaneNSCoder Mexico
Fastlane es una herramienta que automatiza el proceso de generar capturas de pantalla para diferentes tamaños de pantalla e idiomas requeridos para subir una aplicación a la App Store, evitando tener que tomar manualmente cientos de capturas de pantalla. El documento describe cómo Fastlane puede generar automáticamente las 150 capturas de pantalla necesarias para 5 idiomas en 6 tamaños de pantalla diferentes.
This document provides an overview of the Apple Watch, WatchOS, and developing apps for the Apple Watch. It discusses the hardware specifications of Apple Watch models, the WatchOS user interface which is based on iOS, app components like complications and notifications, and the software development process for Apple Watch apps using WatchKit.
Como novato, Source Control Management (SCM), Version Control System (VCS) pueden escucharse como términos complejos al principio, sin embargo adoptar un sistema que me ayudara en el control de las versiones de mi trabajo se convirtió en algo muy útil. También puede serlo para tí sin importar si debes coordinar un equipo de desarrollo compuesto de uno o de muchos integrantes.
No importa si eres programador, diseñador web o gráfico. Usar un Sistema de Control de Versiones es lo mejor que puedes hacer para tu proyecto. Y Git es de los mejores. Git es un Sistema de Control de Versiones gratuito, Open Source y fue diseñado teniendo en mente a los proyectos desde los pequeños hasta los muy grandes sin sacrificar velocidad ni eficiencia.
Gamificación y Objetos de Aprendizaje son de los términos más usados en los ámbitos docentes y de innovación en los últimos años. Esto se debe, en gran medida, a la eficacia probada de su aplicación.
Como desarrollar una App estilo Uber para el mercado Mexicano. Se explicaran el uso de frameworks de websockets, geolocalización, pagos y más.
Fernando Gutiérrez Lozano (@fernando_gl_) y Salvador Rodríguez Dávila (@srdzdv)
Este documento explica cómo crear un archivo .gitignore para ignorar archivos que no se desean incluir en un repositorio Git, como archivos con contraseñas, archivos de configuración específicos de la máquina, archivos temporales o logs innecesarios. Describe las reglas y patrones que se pueden usar en el archivo .gitignore como *, ?, [], / y !, y proporciona enlaces a recursos adicionales sobre el uso de .gitignore.
Swift is a programming language introduced by Apple in 2014 that aims to be an industrial-quality systems programming language while also being as expressive and enjoyable as scripting languages. While some were initially skeptical of Swift, it has received significant support from Apple and learning it allows developers to learn new concepts, satisfy their curiosity, and use interactive playgrounds. Swift also provides an opportunity to see if Apple can succeed in creating a language focused on two different goals.
tvOS es una variación de iOS que gestiona lo que el Apple TV muestra en la pantalla de la televisión, permitiendo a los desarrolladores crear aplicaciones para televisores similares a las de iOS. tvOS ofrece a los desarrolladores casi todas las mismas capacidades que iOS, funcionando el Apple TV como una plataforma para aplicaciones de televisión.
Descripción de la plática:
CoreML es el puente entre iOS y Machine Learning, pero con ciertas limitantes. Explotaremos el potencial que tiene CoreML, responderemos las siguientes preguntas:
- ¿Cómo podríamos ir más allá de los límites de CoreML?
- ¿Cómo puede nuestra App aprender de la experiencia?
In-App purchases es la manera en la cual podemos integrar compras o suscripciones dentro de nuestras apps para ofrecer ya sea contenido extra o nuevas características en las mismas. Integraremos StoreKit en una aplicación en vivo para verlo en acción.
La propiedad IBDesignable permite al desarrollador generar una UIView, UIControl o UIViewController con propiedades definidas de acuerdo a nuestras necesidades. La mayor ventaja y diferencia con una subclase es que nos brinda la capacidad de editar estas propiedades desde el Interface Builder y ver estos cambios en tiempo real.
Los nuevos protocolos son muy parecidos a las interfaces en lenguajes de programación, aunque solo a simple vista. En Swift podemos hacer uso de los protocolos para dar increíbles poderes de personalización a nuestras clases y tipos de valor.
El documento presenta una introducción a Swift y el desarrollo de aplicaciones iOS, incluyendo una breve historia de Cocoa y Cocoa Touch, la construcción de aplicaciones iOS con Swift, Swift Playgrounds y el ciclo de vida de una aplicación iOS.
Este documento describe diferentes herramientas para gestionar dependencias en proyectos iOS. Explica brevemente Submódulos Git, Carthage y Cocoapods, tres de las herramientas más populares. Incluye ejemplos de cómo agregar frameworks como dependencias usando cada una de estas herramientas. También cubre conceptos clave como versiones semánticas y archivos Podfile.lock.
Taller sobre la herramienta PaintCode de @vicktormanuel
¿Qué es paint code?, ¿Por qué debería tenerlo en cuenta o conocerlo?, ¿Para qué me sirve esta herramienta?
Presentación de @JDandini sobre la arquitectura VIPER:
¿Hay algo mas alla de la arquitectura MV(X)[MVC, MVVM etc]?
¿Por qué debería dejar lo que ya se por otro tipo de arquitectura?
Pues bueno averigüemoslo juntos, te quiero presentar una arquitectura nueva que es VIPER, basada en el SRP (principio de una sola responsabilidad por sus siglas en inglés) la cual te prometo ayudará a concebir el enfoque de tus proyectos de otra forma.
Programación funcional con swift. Se ven conceptos como funciones de primera clase, funciones de orden superior, métodos como filter, map y el patrón Result para la gestión de errores.
Este documento presenta una guía para crear una aplicación de Instagram hecha con código para publicar fotos y datos asociados de forma local o en la nube. Explica los componentes clave como el controlador de vista para agregar héroes, el controlador de tabla de héroes, el procesamiento de nuevas publicaciones y el almacenamiento local y remoto de datos. También cubre los requisitos de aprobación de Apple para publicar la aplicación en la App Store.
Este documento presenta una introducción a las matemáticas en la programación y la ingeniería. Explica brevemente el origen de la computación desde las primeras máquinas mecánicas en el siglo XIX hasta los desarrollos modernos. También describe cómo surgieron conceptos clave como el software y lenguajes de programación. Finalmente, destaca la importancia de las matemáticas formales en el desarrollo de software e ingeniería.
This document discusses developing 2D video games using SpriteKit and Swift. It outlines the key ingredients needed including a game engine, scenes, sprites, particles, physics, input, and effects. Specifically, it will cover using SpriteKit's rendering engine, coordinating sprites and particles, implementing collision detection and movement, and adding finishing touches like sound effects and music. The goal is to provide an overview of the process for building a basic 2D game.
Este documento habla sobre la importancia de las pruebas unitarias para asegurar que el código funcione correctamente y prevenir errores. Recomienda probar funcionalidad nueva, central y flujos comunes, así como límites. Las buenas pruebas deben ser rápidas, aisladas, repetibles y autovalidadas. También enfatiza verificar la arquitectura y usar el ciclo de rojo, verde y refactorizar para escribir pruebas efectivas.
Bridgefy permite el envío y recepción de mensajes entre dispositivos móviles sin necesidad de Internet a través de redes mesh. Su SDK permite a los desarrolladores agregar esta funcionalidad a sus aplicaciones y maneja problemas como nodos móviles y cambiantes, diferencias entre dispositivos, y entrega inteligente de mensajes. El SDK está disponible para iOS y Android en Swift y Objective-C.
Este documento habla sobre el diseño ágil para desarrolladores, incluyendo temas como el diseño para iOS, prototipado, guías de interfaz humana de iOS y Material Design. También discute los niveles de experiencia del cliente, experiencia de usuario e interfaz de usuario, así como el proceso de diseño que involucra bocetos, wireframes, pruebas, prototipos y iteraciones. Finalmente, enfatiza la importancia de la empatía en el diseño.
This document discusses clean architecture principles for mobile applications. It describes common iOS code smells like god view controllers and tightly coupled code. The document introduces SOLID principles to improve code quality and testability. It then outlines architectural layers including entities, use cases, interface adapters, and frameworks. The layers are arranged based on the dependency rule, where inner layers do not depend on outer ones. Specific patterns like MVC, MVP, MVVM, VIPER and repositories are presented for each layer. The document emphasizes designing applications that are decoupled from frameworks and user interfaces to improve reusability and flexibility.