en iOS Development

Hoy iniciamos una nueva sección en el blog en la cual aprenderás a desarrollar aplicaciones para iOS, estoy incluyen dispositivos iPhone, iPad, Apple Watch y Apple TV.  El curso se basará en ejercicios prácticos que te llevarán paso a paso a crear aplicaciones cada vez más complejas. Los requisitos son muy simples:

  • Tener experiencia previa en programación:  Este curso no es para ti si nunca has programado en algún lenguaje de programación como java, php o c#.    Pero no te desanimes, si aún así tienes ganas de programar aplicaciones iOS te sugiero que tomes algún curso de programación básico como por ejemplo “Curso Aprende a Programar: Fundamentos Desde Cero”.
  • Tener instalada la última versión de Xcode: Puede parecer obvio pero esta aplicación solo corre en MacOS.  Xcode es gratuito y puedes descargarlo desde el sitio de desarrollo de Apple (https://developer.apple.com/xcode/). Por otro lado, si no tienes una Mac y quieres programar desde tu PC, puedes utilizar VirtualMAcOS, una plataforma que te permite tener una máquina virtual MacOS en la nube. Este es un servicio de paga que cuyo paquete básico cuesta 9.75 dólares mensuales y ya trae todas las herramientas desarrollo preinstaladas.
  • Ganas de experimentar constantemente: Este curso es solo una pequeña guía y para ser un desarrollador experto deberás invertir muchas horas programando, experimentando, creando proyectos para ti y lo más importante buscando qué tipo de aplicación deseas poner en el mercado.

El desarrollo para iOS se realiza a través de Swift (https://www.apple.com/swift/) y asumiendo que ya tienes experiencia programando, iniciaremos el curso conociendo la sintaxis básica de variables, condicionales, arreglos, o ciclos.   Empecemos repasando estos conceptos básicos.

Variables y constantes

Usa la palabra clave “var” para declarar una variable y “let” una constante.  Las variables suelen ser nombradas usando caracteres

// Declarando una variable
var a = 1
var nombre = "Pedro"

// Declarando una constantes

let one = 1
let (aa, bb) = (1, 2)

Operadores básicos

Puede escribir expresiones aritméticas utilizando números, variables, operadores y paréntesis.

var b = 10
var c = 20
var d = 30

// suma
var e = 10 + 20

// resta
e = 30 - 10

//multiplicacion
e  = c * d

//Incrementar el valor de una variable
var myNumber8 = 2
myNumber8 = myNumber8 + 1
myNumber8  += 2

//concatenar cadenas
var nombrecompleto = "Hugo " + "Alvarez"

// Texto y variables

var nombreamiga = "Maria"
var frase = "El nombre de la amiga de Hugo es " + nombreamiga;

var truth: Bool
truth = true

let miresultado = 6 > 4
print (miresultado)


let myNumber28 = 6
let myBool8 = myNumber28 == 6
print (myBool8)

let myNumber29 = 5 != 6
print (myNumber29)


let myBook = true
print (myBook.hashValue)

Imprimir en pantalla

// Siempre imprime un salto de línea
print ("Hola mundo")


var fnombre = "Pedro "

print ("El invitado especial es " + fnombre)
print ("El invitado especial es \(fnombre)")

Condicionales

Ejecutar algún código solo si se cumplen ciertas condiciones

var condicion  = 1


if condicion == 1 {
    print ("condicion correcta")
} else {
    print ("condicion incorrecta")
}


var edad = 18
if edad >= 13 && edad <= 19 {
    print("Adolecente")
}

Tipos de datos y casting

Todas las variables y constantes en Swift tienen un tipo.

var integer:Int = 23
var boolean:Bool = false
var double:Double = 9.2
var decimal:Decimal = 3.4
var cadenavariable:String = "Cadena"

let gameOver = false
// Convertir bool a string
var gameOverString = String(gameOver)


// Convertir int to string
let numero = "3"
integer = Int(numero)!

let numero3 = 2
var cadena:String = String(numero3)

let numero4:String = "3.5"
var numero5 = (numero4 as NSString).doubleValue


// Crear una variable sin valor
var friend: String?


Ciclos

Los clásicos de cualquier lenguaje de programación

For: Swift proporciona dos tipos de ciclos  que realizan un conjunto de sentencias un cierto número de veces: for-in

var someInts:[Int] = [10, 20, 30]

for index in someInts {
    print ( "El valor del indice es \(index)")
}

for i in 0..<10 {
    print(i)
}


While: Se realiza un conjunto de instrucciones hasta que una condición se convierte en falsa.

var i = 1
while i <= 10 {
    print(i)
    i = i + 1
}

Repeat: Se realiza un conjunto de instrucciones mientras se cumple una condición.  Primero ejecuta y después revisa la condición

var i2 = 1
repeat {
    print(i2)
    i2 = i2 + 1
} while i2 < 10

Arreglos

Cuando se trata de datos no siempre se tiene una cantidad fija de elementos.

var listOfNumbers = [1, 2, 3, 10, 100] // an array of numbers
print (listOfNumbers[0])
listOfNumbers.append(20)
listOfNumbers.insert(40, at: 0)
listOfNumbers[1] = 37
listOfNumbers.sort();
listOfNumbers.count

Clases y funciones

Una función es un fragmento de código que realiza una tarea específica.

class Persona{
    
    var edad = 20
    var nombre = "Luis"
    var desempleado = true
    
    
    // No se regresan valores
    func muestraNombre(){
        
       print (nombre)
    
    }
    
    //se regresaunvalor
    func tieneTrabajo() -> Bool {
        if desempleado {
            return false
            
        }else{
            
            return true
        }
    }// end fuct
   
}

var persona =  Persona()
persona.desempleado = false

if  persona.tieneTrabajo() {
    
    print ( persona.nombre + " esta trabajando")
    
} else {
    print (persona.nombre + " no trabaja")
    
}