iOS para desarrolladores .NET: Introducción a la serie

jueves, 15 de enero de 2015


Cómo ya comente en la introducción en la anterior serie de artículos sobre programación en Android, en mi empresa me habían puesto en un proyecto de desarrollo de una app Android y fui compartiendo con vosotros los conocimientos que iba adquiriendo y que iba poniendo en práctica en el proyecto. Una vez terminada la aplicación y subida a Google play, me han notificado que el siguiente proyecto donde iba a participar era una aplicación mobile pero esta vez IOS, así que me toca de nuevo volver a reciclarme. No he abierto un Mac en mi vida, imaginaros la idea que tengo yo de programación con Objetive-C.

Así que ahora lo que viene es una serie de artículos de programación para IOS mediante Objetive-C para desarrolladores .Net. Ya que soy un desarrollador .Net el punto de vista y comparaciones apoyandome en C# serán constantes para ayudar a una mejor compresión del lenguaje Objetive-C. En esta ocasión los artículos empezarán desde un nivel más bajo que la serie de Android porque lo que necesito aprender es desde 0.

Introducción al mundo iOS

Antes de aprender una tecnología o lenguaje nuevo es importante conocer una introducción para ponernos en situación.

IOS es un sistema operativo móvil desarrollado por Apple y distribuido exclusivamente para hardware Apple como son el Iphone, Ipad, Ipod Touch y Apple TV. El lenguaje principal para desarrollar en los sistemas operativos de Apple es Objetice-C desde hace años y recientemente han creado un nuevo lenguaje llamado Swift, pero yo me voy a centrar en el primero porque es el que voy a utilizar en el proyecto.

Objective-C

Objective-C fue creado como una extensión del lenguaje C, añadiéndole clases, objetos, métodos, protocolos, excepciones, propiedades y categorías. Actualmente es el lenguaje principal de programación para IOS y Mac OS X.

En 1988 Objective-C fue adoptado por NeXT (la compañía que fundó Steve Jobs cuando dejó Apple). Este fue utilizado como base para construir el sistema operativo que correrían sus computadores, NeXTStep.

En el 96 Apple compró NeXT, y su sistema operativo, NextStep, pasó a convertirse en Mac OS X en 2001. Es por esto que la mayoría de las clases del SDK de iOS y Mac tienen el prefijo “NS”, porque provienen de NeXTStep.

Xcode

Xcode es el IDE de Apple para desarrollar aplicaciones para OS X y también iOS. Xcode trabaja conjuntamente con Interface Builder, es una herencia de NeXT, es una herramienta gráfica para crear interfaces de usuario. La forma de trabajar con Interface Builder es arrastando campos de texto, botones sobre un canvas sin necesidad de escribir código como en otras tecnologías como Android donde las vistas se pueden crear utilizando XML o aplicaciones para la Windows Store donde se crean mediante XAML.

Patrón Movel View Controller

Para desarrollar aplicaciones para IOS se utiliza el patrón Modelo Vista Controlador (MVC) que nos va a permitir separar el diseño de las vistas y la programación de la lógica de las mismas.

Cocoa Touch

Cocoa Touch es una capa de abstracción del core de IOS, si vemos el core como un conjunto de capas, sería la capa superior.



Cocoa Touch se compone de un conjunto de frameworks que proporcionan diferentes soluciones para poder crear aplicaciones IOS, entre los que se encuentran Foundation y UIKit.
Foundation
Este framework proporciona un conjunto de clases base existentes en otros lenguajes de programación como son tipos para manejar strings, array de bytes, colecciones etc.. y todas estas clases que existen llevan el prefijo NS por ejemplo NSString o NSArray. Es común para desarrollar aplicaciones para IOS y para OS X.
UIKit
Este Framework esta más orientado a crear una base de clases de interfaz de usuario y pueden llevar el prefijo NS como por ejemplo NSLayoutManager o UI más enfocado a controles como UIButton. Es exclusivo pra el desarrollo para IOS.

Resumen

Este ha sido el primer artículo de la serie de IOS para desarrolladores .Net donde hemos visto el motivo por el que me he decidido a escribirla y tambien una pequeña introducción al mundo IOS, en los próximos artículos empezaremos a ver algo más de código y comparaciones con c#.

Libros relacionados

iOs Programming for .Net Developers

iOS Programming: The Big Nerd Ranch Guide

Objective-C Programming: The Big Nerd Ranch Guide

1 comentario: