Alta definición
Registro en forodvd
+ Responder tema
Resultados 1 al 3 de 3

Programación en IOS

  1. #1
    De los que quieren ayudar Avatar de petatester
    Registro
    03 ene, 09
    Ubicación
    Pais Vasco
    Mensajes
    7,386
    Agradecido
    4604 veces

    Predeterminado Programación en IOS

    Regístrate para eliminar esta publicidad

    Hola a todos.

    Escribo estos “apuntes” con la única intención de que ayuden a los completos novatos en la materia (como yo, actualmente) a, quizás, verse atraídos por esta rama de la informática, la cual, debidamente sembrada, está dando de comer cada vez a más gente.

    PROGRAMACIÓN EN IOS

    El futuro es móvil. De eso no hay duda. Todo va orientado a que podamos hacer cada vez más cosas y en cualquier momento. Se trata de seguir manteniendo el contacto con todo el mundo vayamos a donde vayamos. Algunos lo ven como una intrusión en su vida privada, por la falta de intimidad, y otros lo ven como una oportunidad. Yo no voy a responder a eso, pero si estáis interesados en aprender a programar para iphone o ipad, espero que estas líneas se conviertan en “aquél post que leí y que me animó a intentarlo”. Ojalá.

    A fecha de hoy, llevo unas pocas semanas leyendo de aquí y de allá, viendo videos, y al final me he propuesto aprenderlo en serio y apenas acabo de empezar en una academia, pero, por qué no, voy a escribiros en un solo post todo lo que me hubiera gustado encontrar cuando empecé a investigar sobre este tema.

    No voy a enseñar a nadie a programar, que quede claro. Hay muchísimo material por todas partes para ello, y además no soy profesor. Solo pretendo compartir mis bases para que tengáis una idea global de lo que supone esto. Cuando lo que sabes acerca de algo es cero, una idea abstracta te parece fabuloso, y eso es lo que espero conseguir.

    De hecho, podría ocurrir que, al ser yo un novato más, escriba alguna barbaridad que deba ser corregida de inmediato. Me disculpo de antemano, por si ocurriera!!!!

    POR DONDE EMPEZAR

    Apple, si algo hace bien, es poner a disposición de cualquiera, y de manera gratuíta, todas las herramientas necesarias para crear y desarrollar en su plataforma. Otros deberían de aprender de ello! No digo que lo dén todo hecho, ni que sea fácil, pero te lo sirven y de ahí en adelante te las apañes.

    Lo primero que debemos tener claro es que necesitamos un mac, relativamente moderno, con procesador Intel, con sistema operativo moderno (mínimo macos 10.6.8), y que además tendrémos que tener o dar de alta una ID de Apple. https://appleid.apple.com/cgi-bin/We...MyAppleId.woa/

    Después necesitaremos registrarnos en la zona de desarrolladores con esa ID:
    https://developer.apple.com

    Y con ello ya podrémos descargar desde la App Store la herramienta XCODE, que será el programa en el que pasaremos horas y horas y horas…
    En la página de “Developer”, podremos registrarnos de manera gratuíta, o de pago anual. La manera gratuíta nos permitirá crear y testear, pero no podremos pasar nuestras creaciones al iphone ni al ipad para nada, mientras que las de pago si nos lo permitirán. En cambio, podremos ver y probar el resultado con el fabuloso simulador de iphone/ipad integrado en Xcode.

    QUÉ PASA SI QUIERO DISTRIBUIR MI CREACIÓN

    Supongamos por un momento que ya somos unos fabulosos programadores, y que además hemos desarrollado un programa que nos dará un dineral.

    Pues bien, si quieres distribuir tu creación, podrás hacerlo en entornos privados o públicos, y en función de eso pagarás una tarifa u otra. Además, esa tarifa deberás pagarla anualmente y de por vida, puesto que si dejas de hacerlo, todo programa dejaría de funcionar en cuanto su certificado caducara.

    Eso del certificado es un “invento” que te asegura que tu creación no ha sido alterada por nadie (pirateada), y a su vez te obliga a renovarla anualmente. No existe el certificado eterno. Tomároslo como un invento para recaudar, pero en este caso el invento no es de Apple.

    Si tuvieras un programa que solo pudiera utilizar una determinada empresa “X” de 100 empleados, existen maneras de asegurarse de que solo esos 100 empleados puedan descargárselo, mientras que al resto de los humanos no nos aparecería el programa en la tienda de Apple. Eso sería el resultado de una “distribución privada”, mientras que si quieres que tu programa se venda en todo el mundo, sería una “distribución pública”, y tendría otro coste (y otro problema, puesto que conseguir que el programa esté en múltiples idiomas, va por tu cuenta).

    El precio del programa lo decides tú, y Apple se queda con el 30%. Qué ha hecho Apple por ti?
    Bien, pues además de seguir mejorando el Xcode gratuitamente día a día, te ha añadido una utilidad (dentro de Xcode) que compila el programa para asegurarse de que no tiene errores de programación, otra utilidad que comprueba si sería demasiado pesada para un dispositivo cualquiera, y una vez que tienes la “aprobación” de su aplicación, si has pagado la correspondiente cuota, te permite firmarla y subirla a un automatismo que la prueba de principio a fin hasta asegurarse de que no hay manera de quedarse colgado en ningún momento.
    También mirará si hay algún problema legal con el contenido de tu aplicación (sexo, vulnerar derechos de otra app, copia ilegal, etc.).Si superas todo eso, Apple te permitirá poner el precio que quieras y distribuirlo. Todo este proceso de normas se llama “Human Interface Guidelines”.
    Así que por todo esto, Apple cobra su comisión.

    BUENO, Y DE QUÉ VA LA PROGRAMACIÓN?

    Un poco de jerga:

    La programación de IOS se hace sobre Xcode.

    Xcode funciona SOLO sobre MacOS X en Intel. Es una interfaz sobre la que puedes programar en lenguaje “Objective C” ó “C orientado a objetos”. Es una rama de la programación en lenguaje “C”, pero con un patrón diseñado por Apple, que cambia según sus creencias, así que podría considerarse una ventaja el no saber nada de “C”, puesto que puede volverte loco de los cambios.

    Xcode pone a tu disposición unas “Frameworks” (digamos, conjunto de librerías, con montones y montones de programitas ya escritos y esperando a ser usadas) entre las que destaca “Foundation”. Ésta será la base de toda programación. Está presente en todos los programas. Cuando utilizas los comandos más básicos, éstos salen de ahí.

    La programación se basa en CLASES, que están compuestas de ATRIBUTOS y/o MÉTODOS. Ahora voy con esto.


    Ahora intentemos vaciar la mente y a ver si consigo dibujaros este esquema mental:

    Si ya habéis programado antes, quizás penséis en un largo programa que el ordenador interpretará línea a línea de principio a fin, pues no!

    Ahora hay que pensar en “OBJETOS”! Digamos que la idea del programa que tengamos hay que desmembrarlo en distíntos objetos. Esos objetos serán nuestro objetivo. Habrá que imaginarlos, describirlos, ponerles los atributos que los diferencian de otros objetos, y luego definirlos.

    Por ejemplo, un objeto puede ser un coche, y, según el programa y lo que esperemos de el, puede que necesitemos definir “su color”, “su marca”, “su modelo”, etc, o puede que tengamos que entrar en más detalle como “aceleración de 0 a 100”, “distáncia en metros para frenar de 100 a 0”, “par motor”, etc.

    Pues bien, esos ATRIBUTOS serán esenciales para pensar en los distíntos OBJETOS. Además de eso, habrá que pensar en las FUNCIONALIDADES del objeto. Por ejemplo, la funcionalidad de “poder acelerar”, “poder frenar”, “poder girar”, “poder encender luces”, “poder hacer que suene su bocina”, etc.

    Una vez que hayamos definido los ATRIBUTOS y las funcionalidades o MÉTODOS de la CLASE “coche”, estaremos entendiendo la manera de imaginar el programa.

    Véis por donde ván los tiros? Este es el estilo de pensamiento que hay que tener para programar. Primero tienes la idea. Luego tienes que desmigar esa idea en pedacitos, y sacar de ahí los objetos (instancias de CLASES), y definir de cada clase sus ATRIBUTOS Y MÉTODOS.

    Luego quedará por definir la interfaz gráfica del programa, y asociar a cada gráfico, botón o caja de texto de la pantalla el trozo de programa que corresponda.

    Otro ejemplo, digamos que hay que hacer una calculadora.

    En la interfaz gráfica dibujaremos un casillero para escribir un número, otra casillero para escribir otro número, y una tercera caja de texto que representará el resultado. Entremedio habrá un botón que hará una suma, otro que hará una resta, otra de multiplicación y otra de división.

    Habrá que pensar en el casillero1 como un objeto de una CLASE cuyo ATRIBUTO será que “tiene que ser un número”.
    Habrá que pensar que el casillero 2 será otro objeto de una CLASE cuyo ATRIBUTO será que “tiene que ser un número”.
    Habrá que pensar que la caja de texto será otro objeto de una CLASE cuyo ATRIBUTO será que “tiene que ser un número” y su funcionalidad o MÉTODO será que “tiene que mostrar el resultado”
    Habrá que pensar que cada botón será un objeto de una CLASE cuya funcionalidad o MÉTODO será que tiene que efectuar su correspondiende suma, resta, multiplicación o división entre el casillero 1 y el casillero 2.

    Una vez llevada esta información al Xcode (si, ya se que se escribe más fácil de lo que luego supone programar eso, pero necesito haceros pensar de esta manera), le asignaremos a cada objeto su correspondiente definición de ATRIBUTOS y/o MÉTODOS desde el apartado gráfico. O sea, a cada casillero o botón le diremos qué parte del código ejecutará cada uno.

    Finalmente pondremos el programa a compilar y a ejecutarse en el emulador de iphone, y veremos que se queda quietecito en la pantalla donde hemos dibujado esos “botones”. Cuando pinchemos sobre el casillero 1, el programa sabrá que espera que le metamos un número, por lo que nos saldrá el teclado numérico (previamente definido) y cuando le metamos un número, se quedará tal cual quietecito de nuevo. Ocurrirá lo mismo cuando pinchemos en el casillero 2.
    Cuando pinchemos sobre una de los botones de suma, etc, el programa sabrá que debe de hacer un cálculo entre el valor numérico del casillero 1 y 2 y dará un resultado.
    La casilla del resultado, que estaba esperando a que algo ocurriera, al ver que el resultado a “ocurrido”, mostrará el nuevo valor.

    Se me entiende ahora un poco mejor? Veis de qué manera te hace pensar el Xcode? Más que pensar en un solo programa, hemos pensado en CLASES, en sus ATRIBUTOS y en sus MÉTODOS.

    AHORA VIENE LO GORDO

    Una vez que uno tiene esta base, hay que edificar el resto encima. El lenguaje Objective C te obliga también a programar estructuradamente, a utilizar un montón de ayuda, a una sintaxis muy concreta, a descubrir un montón de clases predefinidas, y un larguísimo etc que probablemente nunca conocerás del todo.

    Por supuesto, no hay mejor manera de superar esto que con una constancia, determinación y disciplina de titanes, puesto que reconozco que es muy difícil, pero tengo la promesa de que cada vez se va viendo más y más claro, hasta que llega el momento en el que pretendes hacer algo muy concreto, pero te ves capaz de “saber buscar en la ayuda lo que pretendes hacer”, aprender de otros, primero copiando y luego imaginando.

    Puede que algún día me atreva yo a decir que ya lo he conseguido, pero de momento tengo un laaaaaargo camino por delante.

    He animado a alguien?
    Última edición por petatester; 17/12/2012 a las 22:23
    admin, Lucky, anonimo06032014 y 2 usuarios han agradecido esto.
    MI SALA
    Tanto si te gusta como si no, por favor, comenta!
    Gracias!

  2. #2
    Meigas fora Avatar de navone
    Registro
    31 dic, 09
    Ubicación
    Terra de Breogán
    Mensajes
    19,196
    Agradecido
    17379 veces

    Predeterminado Re: Programación en IOS

    He animado a alguien?
    Por lo menos la curiosidad me has despertado
    petatester ha agradecido esto.
    Resultado votaciones Forodvd: Mejores películas del 2023

    Patrones: Blanco 100% Magenta 100% Gris 5%

    LG 65CX6LA
    NAD T778 + MA Silver 100 6G + Silver C150 + Bronze 1 + SVS SB1000 Pro
    Panasonic BDT110
    Panasonic 42V20


    Si se calienta la CPU el mejor refrigerante es ..... una Estrella Galicia

  3. #3
    diplomado Avatar de HDForever
    Registro
    13 mar, 08
    Mensajes
    4,891
    Agradecido
    4000 veces

    Predeterminado Re: Programación en IOS

    Me encanta programar, y hasta mi primera base de datos -que era bastante completita- para meter fichas de clientes en el SAT me la hice yo mismo de cero en DOS 3.X con unas subrutinas en hexadecimal que no sé ni de dónde saqué (de la interné sueguro que no, que no había de eso hace 20 años) para generar ventanas, menús y submenús, y programación en TurboBasic de Borland. Podías meter los datos del cliente y el aparato, y generaba una ventana de explicación de la reparación hecha, así comosalida impresa del concepto, albarán y factura, con descuentos, mano de obra y repuestos por separado, impuestos añadidos,...

    Para que os hagáis una idea, el aspecto era como el de un menú de BIOS actual:



    Pero funcionaba!!! Hasta podía buscar por nombre de cliente, marca, modelo o cualquiera de los datos de la ficha...

    La verdad es que parafernalias y gráficos aparte, el programa que uso actualmente, viene a ser eso.

    Ahora sería incapaz..o no. El día que me meta con iOS y las Apps la lío
    admin y petatester han agradecido esto.
    http://www.forodvd.com/tema/97505-me...enos-curiosas/

    Hay es de haber; ahí, de lugar; ay, de exclamación y ahy no existe Haya es de haber; halla, de encontrar cosas, allá es de lugar y haiga es un coche muy grande y lujoso. Haber es un verbo. Si quieres quedar con alguien es: a ver si nos vemos. Botar es saltar y votar, tu derecho. Valla es un cerco, Vaya es de ir.

    http://www.rae.es/rae.html

    http://conjugador.reverso.net/conjugacion-espanol.html

+ Responder tema

Temas similares

  1. TDT Grabador con BUENA GUIA DE PROGRAMACIÓN
    Por phoenix33 en el foro Receptores TDT, satélite, cable
    Respuestas: 1
    Último mensaje: 25/11/2012, 09:32
  2. Programación de los canales satélite en HDTV
    Por JDC en el foro Receptores TDT, satélite, cable
    Respuestas: 0
    Último mensaje: 28/12/2007, 15:39
  3. grabar programacion ono
    Por mansonic en el foro TV LCD-LED (otras marcas)
    Respuestas: 0
    Último mensaje: 04/05/2007, 20:52
  4. Programación de fabrica de un dvd Sony NS3300
    Por stargate en el foro TV LCD-LED (otras marcas)
    Respuestas: 1
    Último mensaje: 11/05/2005, 09:09

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Search Engine Optimization by vBSEO
Image resizer by SevenSkins