Bienvenidos a Xojo: programación para todos, parte I

¿Y qué es Xojo a todo esto? Se trata de un IDE, al igual que el propio Xcode de Apple, que reúne bajo una única aplicación todo lo necesario para que puedas crear, depurar y desplegar tus aplicaciones sobre cualquiera de las plataformas soportadas: OS X, Windows, Linux, la web y, en breve, también como aplicaciones nativas sobre iOS (puedes ver alguno de los avances en este sentido desde este enlace).


El IDE incluye todas las herramientas para crear de principio a fin un proyecto, incluyendo depuración, editor de interfaces gráficas y despliegue multiplataforma.

Lo que diferencia a Xojo de Xcode y también de otras opciones para el desarrollo de aplicaciones multiplataforma son varios aspectos que resumiremos a continuación.

Programar es fácil

Xojo presenta una curva de aprendizaje tremendamente liviana, lo que significa que serás capaz de crear tu primera aplicación en pocos minutos. Y si se trata de realizar aplicaciones sencillas o ‘mockups’ de interfaces de usuario, incluso verás que la cantidad de código requerido se limita a un par de líneas.

También son muchas las personas que utilizan Xojo para realizar el prototipado de aplicaciones, pasando posteriormente a otros entornos. Personalmente mi ruta no es esa; al contrario. Cada vez que he de plantearme un nuevo desarrollo considero Xojo como primera opción: es fácil, rápido y potente. Por tanto resulta más productivo y también rentable en base a las horas invertidas en finalizar un proyecto determinado, por ejemplo.

Aplicaciones nativas

No importa sobre qué plataforma despliegues tus aplicaciones, ten la seguridad de que los elementos de interfaz gráfica (controles) utilizados son nativos en cada caso, de modo que tus programas tendrán un aspecto impecable y profesional. También significa que los programas desplegados son compilados y no interpretados. Por tanto, más rápidos, más seguros y también más compatibles, pues no dependen de las versiones de las librerías que pueda tener instalado cada usuario en sus respectivos equipos, tal y como sí ocurre con otros lenguajes de programación.

  

Xojo permite diseñar interfaces gráficas con extrema facilidad, arrastrando y soltando. Además, los controles son nativos en cada una de las plataformas soportadas: OS X, Windows, Linux, la Web y, en breve, iOS.

No estás solo

En muchos entornos, como es el caso de Cocoa o Cocoa Touch, la cantidad de documentación existente es tan abrumadora que muchas veces ni siquiera sabes por dónde has de empezar para realizar algo determinado (¿cómo puedo mostrar esto o aquello?, ¿qué necesito para tratar imágenes y/o sonido? ¿cómo accedo a recursos de red?).

El IDE de Xojo dispone de una completa documentación, bien estructurada, y en la que se incluyen algunos libros en castellano, para que cojas el hilo desde el principio. Incluso el diseño de interfaces de usuario es tan simple como arrastrar y soltar los elementos gráficos sobre la ventana que ha de contenerlos. Una vez que adquieras soltura, puedes sacar provecho de las características de autocompletado del editor de código y de los ‘hints’ o recordatorios de sintaxis mostrados en la barra inferior del editor, mientras que la ayuda contextual o general siempre está al alcance de un atajo de teclado. Si lo deseas, el excelente Dash también dispone de soporte para la documentación Xojo, ¡por cierto!

Adicionalmente, también puedes acceder a los foros de Xojo donde encontrarás una buena cantidad de gente dispuesta a ayudarte de forma desinteresada (personalmente puedo decirte que resulta muy útil aunque sólo participes como ‘mirón’), e incluso dentro de dichos foros hallarás un canal en español, por si te sientes más cómodo utilizando la lengua de Cervantes; obviamente, en este sentido estarás limitando la interacción con otros muchos desarrolladores de la amplia comunidad de usuarios, muchos de ellos muy valiosos y con una gran experiencia a su espalda.

Bonus adicional: suscríbete al boletín de noticias de la compañía, no sólo estarás al día en cuanto a las novedades que se produzcan sino que podrás sacar provecho de los descuentos y ofertas que publican con bastante frecuencia.

Xojo es moderno

El lenguaje utilizado es moderno y ofrece todo lo que podrías esperar de un lenguaje de programación orientado a objetos.

Y también es potente cuando lo necesitas. Por otra parte, cuando las clases y controles incluidos de serie se te quedan pequeños, tienes la posibilidad de ampliarlos tú mismo, acudir a los proporcionados por terceros (ya sean de pago o los muchos que existen gratuitos), o bien utilizar las librerías nativas del sistema operativo o de terceros mediante el uso de Declares. Se trata de una característica del lenguaje que permite llamar a las funciones de bajo nivel para, por ejemplo, hacer llamadas a los frameworks de Cocoa. Más allá de esto, y si eres un programación ‘hard-core’ también puedes desarrollar tus propios plug-ins en C o C++ para añadir nuevas funcionalidades, utilizando para ello el SDK proporcionado por Xojo.

Mediante el uso de Declares es posible llamar a funciones o métodos disponibles en los frameworks y librerías nativos de cada sistema operativo (o de terceros).

¡Es gratis!

Bueno, bien… no exactamente. Es cierto que el IDE de Xojo es gratis. De hecho para descargarlo y utilizarlo en tu Mac solo necesitas crear una cuenta de usuario en el sitio web del desarrollador y listo. Ahora bien, en su versión gratuita, podrás crear, depurar y ejecutar tus aplicaciones desde el propio IDE, pero no podrás desplegar. Es decir, no podrás crear programas compilados e independientes que puedas distribuir a otros (o a través de la Mac App Store) e incluso vender si así lo deseas. Para ello, deberás de adquirir cualquiera de las licencias disponibles y cuyo coste varía en función del tipo de características y prestaciones que vayas a requerir. Puedes ver las opciones y coste de cada una de ellas en la tienda de Xojo.

Aun así, para esta serie de artículos y hasta que te sientas cómodo con Xojo y realmente quieras crear tus propios productos para su distribución (o como desarrollador freelance), podrás utilizarlo sin fecha de caducidad, lo que no está nada mal.

No tienes todo a tu disposición

El concepto de multiplataforma ha sido, de siempre, el Santo Grial en el mundo de los desarrolladores. ¿A quién no le gusta soportar tres o cuatro platafomras a partir de un único código base? Después de todo, sería el mejor modo maximizar recursos (tiempo de programación) y por tanto obtener mayores beneficios, ya enfoques el desarrollo desde la perspectiva de un aficionado (para obtener algunos ingresos adicionales) o bien como profesional a tiempo completo.

Partiendo de un mismo código base es sencillo desplegar la misma aplicación sobre las diferentes plataformas soportadas, especialmente OS X y Windows, si bien también están contemplados Linux y la creación de aplicaciones web (hospedadas en servidores dedicados o en Xojo Cloud).

En mi opinión, Xojo es con mucho una de las soluciones más completas en este sentido; siempre y cuando se tenga en cuenta que su framework no da acceso a todo lo que sí viene de serie en el caso de que utilizases el entorno de desarrollo “bendecido” en cada uno de los sistemas operativos.

¿Qué significa esto? Pues que no puedes acceder con la misma facilidad a cosas como Game Center, reconocimiento de habla, sintetizador de voz y otra serie de frameworks que sí puedes emplear de serie en el caso de que utilices Objective-C. Es el precio a pagar.

Sin embargo, esto no significa que no puedas utilizarlo… sólo que para ello ya deberás de tener un cierto nivel en Xojo y el uso de la anteriormente comentada Declare que permite acceder a funciones y métodos nativos de otras librerías y frameworks.

En el 90% de los casos no te verás restringido a esta limitaciones, sin embargo; además de que cada nueva versión de Xojo añade nuevas capacidades (como por otra parte cabría esperar). Eso sí, nunca estará a la par de lo que, como he dicho, tienes en el caso de haber tirado desde un principio con XCode y Objective-C.

¡Manos a la obra!

Sirva esta entrada como introducción al desarrollo con Xojo. Como tarea, puedes ir descargándolo a tu ordenador y jugando con los múltiples proyectos que encontrarás en la carpeta “Examples”.

Xojo incluye de serie una buena cantidad de ejemplos, listos para usar o bien para tomar como punto de referencia.

Esto te permitirá ir conociendo un poco mejor el entorno, porque en la próxima entrega ya empezaremos a tirar de IDE y explicar algunas de las nociones necesarias para empezar a desarrollar nuestros propios programas con Xojo, desde qué son las variables (y tipos soportados), hasta la explicación de las Clases y objetos que suponen las bases de la programación orientada a objetos. Una vez que lo aprendas, ya podrás aplicar dichos conocimientos a otros lenguajes (por ejemplo Objective-C) y ¡te resultará más sencillo aprender otros entornos!

También comenzaremos a diseñar nuestras primeras interfaces de usuario y verás lo fácil que resulta y el escaso código necesario para que simplemente funcione.

Enlaces de interés sobre Xojo

Javier Rodríguez (@bloguintosh) es desarrollador OS X e iOS, director de Macsoluciones.com. Puedes contactar con el para el desarrollo de aplicaciones para Mac e iOS en entornos empresariales así como consultoría y formación.

 

 

Javier Rodríguez

Javier Rodríguez (@bloguintosh) es desarrollador y autor del eBook "Programación Multiplataforma Xojo". Puedes contactar con él para el desarrollo de aplicaciones y soluciones multiplataforma, así como consultoría y formación en www.aprendexojo.com

0 0 votos
Article Rating
Subscribe
Notify of
8 Comments
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
mikeunimac
mikeunimac
10 years ago

Lo de que soportará iOS lo llevan prometiendo unos 4 años y de Android ni mención. Xojo es espectacular, pero estas carencias que cito son lo que me ha llevado a descartarlo, una pena.

dekkam
dekkam
10 years ago

Interesante introducción. Seguiré atentamente los siguientes artículos. Buen trabajo. Saludos.

Firichi
Firichi
10 years ago

Mikeunimac, tengo la impresión de haber escuchado que ya REALBasic tenía un módulo (no estoy claro en la nomenclatura de esta ambiente) que compilaba para iOS, pero al parecer sólo corría en OS X

mikeunimac
mikeunimac
10 years ago

Estupendo, Firichi, lo estoy deseando porque el lenguage de programación es muy lógico y asequible.

Achi
Achi
10 years ago

RealBasic era lo mejor !!!

cocoloku
cocoloku
10 years ago

2ª parte?

Carlos Burges Ruiz de Gopegui
10 years ago

#7 Pronto.

8
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x