sábado, 24 de abril de 2010

Object-C en mDevelopers

En estos días se han desarrollado una seria de platicas y seminarios en un proyecto interno llamado mDevelopers, el cual consta de un grupo de estudio para tecnológica de móvil (telefonos inteligentes o Smartphone), dentro del marco de aprendizaje se ha estado dando una trasfondo de POO para el desarrollo de app para iPhone, iPod y iPad recientemente.

En el grupo hemos tomado temas como es el hecho de conocer la programación orientada a objetos, sus derivaciones dentro de la programación llegando al punto en donde ya tomamos object-c, conocer sus sintaxis conocer el manejo de protocolos, los archivo de cabecera (.h), los archivos de implementación de mensajes (.m), en el cual surgen inquietudes para algunos del manejo de punteros, interfaces, llamadas a métodos y la implementación de los mismos.

En esta etapa se conoce a fondo como en una aplicación para un dispositivo móvil es el manejo de memoria, interacciones con el sistema grafico, entre otras cosas que vamos tomando en el estudio y practica.

Hemos tomado algunos break para conocer temas ajenos al plan de estudio como que tecnologías están al rededor del desarrollo en este caso cocoa para OS X, un panorama simple y sencillo para conocer donde estamos actualmente y que tenemos, recientemente también algunos compañeros hablaron de patrones de diseño recordando MVC, sobre todo para reafirmar el desarrollo que tenemos actualmente, como el que deseamos realizar para nuestra APP, se toman ejemplos de nuestras experiencias en PHP con algunos frameworks como Zend, CodeIgniter, en java con Struts, ADF, y en algunos proyectos personales el MVC de Microsoft, el cual solo hemos dado un vistazo.

En los próximos meses se seguiremos trabajando en APP para iPhone, pero se tiene planteado conocer de fondo desarrollo para Blackberry, Nokia y tecnología móvil de Microsoft con el lanzamiento de Windows Mobile 7.

sábado, 10 de abril de 2010

Apple vs Adobe, con un trasfondo POO

Leyendo en mi reader (RSS) encontre un feed de At1040 donde hablan de que apple cambia el contrato para desarrolladores, de entrada se ponen muy criticos de como el aspecto de que Apple, se encuentra de manera dura en no aceptar y/o seguir en la posicion de no Flash, esto de namera directa con la salida del iPad para muchos, critican que el dispositivo no tendra un bum como lo es a este tiempo el iPhone y iPod Touch, pero bien tengo una manera diferente de ver las cosas y es de lo que quisiera platicarles ahora.

Dentro del post se habla que no se aceptaran interpretes y que solo los codigos escritos directamente en C, C++, Object-C y javascript se aceptaran, esto por que razon dejeme decirles y es mi muy particular punto de vista.

En mi expericia a la fecha donde los desarrolladores comentan aver tenido basta experiencia en orientacion a objetos (POO), en la practica muchos de ellos en realidad vienen de un desarrollo antiguo, secuenciales, estructurada y el trasfondo es que en realidad no esta orientada a objetos, es verdad que en el desarrollo se topan con objectos pero en realidad estan usandolos?, dejo abierta la pregunta.

En muchos casos el usar objetos no es en realidad que estan utilizando la orientacion a objetos, cabe mencionar los programadores que vienen de lengjuajes no orientados a objetos, ejem Visual bisc y que en algunas ocaciones son por algun proyectos obligados a realizar de desarrollos en Objetos como son C++, Java, C#, Ruby y mas grave en Object-C por el hecho de querer desarrollar app para el iphone o ipad, entran en una etapa de lo aprendere esta sencillo es solo sintaxis, pues dejenme decirles que como bien una sintaxis es facil de aprender una forma de pensar no lo es, aqui pongo el ejemplo de los idiomas podras estar diciento palabras en ingles pero sigues pensando en español.

Ahora bien, muchas herramientas utilizan interpretes para transformar ya a mas bajo nivel nuestro codigo peus bien, aqui meto las manos a fuego donde digo y fomento que un interprete no es del todo mal, veamos Java con su Maquina virtual. Y no digo que se eliminen los interpretes pero si vemos en retrospectiva este efecto si conocemos nuestro aplicacion (app), podemos facilmente identificar bugs, mantenimentos, de namenera mas adecuada aunqe venga en uno u otro lenguaje. Pero no el echo de seguir programando de formas pasadas secuenciales, estructuradas y querer pasar todo nuestro espageti a otro lenguaje tan sencillo y facil porque una herramienta no lo permite.

Pues en realidad lo que puede estar mal es y en efecto es la vision que tengo de lo que intenta hacer apple, es desde una tajada, ver que estos desarrollos esten en esta forma de programar y bien objetos no es el hecho de identificar solo nuestros objetos del sistema, si no bien idenficar las interacciones y responsabilidades que tiene cada uno para que nuestros desarrollos no sean un espagueti que despues, en mantenimientos es lamentable tener que levantar sistemas desde cero (scratch).

Como conclusion final, espero que todos esos programadores que aun estan trabajando con lenguajes no orientados a objetos, les pido que se informen de nuevas tecnologias, que conoscan un poco de Programacion Orientada a Objetos (POO), pero no el echo de leer una sintaxis de VB a C# y decir lo sencillo que lo aprendieron.

El hecho es aprendar a conocer su mundo real, las relaciones, interaciones y estas llevarlas en la programacion que realizar cambios a su codigo no sea tirar un sistema entero y construirlo desde cero porque el sitema no les da la funcionalidad que deseaban.

Les dejo la liga del post que me encontre.

http://alt1040.com/2010/04/apple-cambia-el-contrato-para-desarrolladores-y-le-sigue-pegando-duro-a-adobe