miércoles, 19 de mayo de 2010

Proyectos para Verano

Cada epoca vacacional o de esparcimiento pienso en desarrollar algo, en ocasiones me aplico al arte, en ocasiones a la lectura pero en ocasiones deseo programar algo que me sea util.

He estado pensando en desarrollar algo de software para mi, necesito algunas cosas:
  • Una de esas barras de acceso rapido a aplicaciones
  • Una agenda de contactos con telefono, mail, datos personales
  • Un programa de notitas
  • Sistema de diseño de prototipo Web

Me gustaria que las notitas pudiera ponerle una fecha de emergencia o prevencion para que brille o salte o algo para atenderla, prefiero algo asi a un calendario... el calendario es demasiado cuadrado y seguro terminare dejandolo, me pasa igual con las agendas personales y con google calendar. La aplicacion de ManyMoon es util para propositos asi sin embargo existe la problematica online (problematica? asi es, deseo una aplicacion offline, portable y facil de instalar)

La agenda deseo poder capturar de forma rapida, muy rapida y sencilla, deseo mantener pocos datos de identificacion, nombre o apodo y una referencia, datos de contacto y eso es todo. Necesito que no este casado el programa a datos fijos, xml y bases de datos no son una buena opcion y texto plano no me parece una buena idea... Es por eso que he considerado utilizar MongoDB, aunque aun ando evaluando la opcion.

Para la barra de accesos habia pensado utilizar Adobe Air, aunque es quiza el desarrollo que tiene menos prioridad.

He considerado utilizar varias tecnologias, desde Delphi, C#, Air, Java, tecnologia mobil, bases de datos distintas incluido incluso xml, firebird, mysql, postgress, oracle, sql server 05, sybase, mongo y cassandra, tecnologias web como flash, flex, javafx, silverlight, php, asp, coldfusion y jsp.
Los posibles enfrentamientos despues de una amplia revision son

Delphi vs Java .- Mi creciente interes en Delphi esta justificado por su facilidad de programacion, ademas por haber comenzado a programar con ese lenguaje me da cierta curiosidad ver que se puede hacer con delphi ya conociendo un poco mas. Sin embargo, Java siempre me parece atractivo y me es mas natural.

JavaFX, Flash, Flex .- No quiero hacer una aplicacion cuadrada y fea enrealidad, deseo hacer algo atractivo, sin embargo queda como tercera prioridad la capa de presentacion, aun queda mucho por investigar para aplicaciones de escritorio con este tipo de fusion, me es facil visualizar una aplicacion Java que utilize Swing, AWT o SWT, sin embargo la combinacion con alguna de estas alternativas para RIAS me interesa bastante.
La disputa cualquiera diria que elegire Flash y quiza es asi, sin embargo deseo aprender JavaFX o Flex, descarto por el momento silverlight por su alto consumo de memoria.

Zinc vs Air .- Adobe Air es una solucion bonita para desarrollos de escritorio, algo asi como hacer una aplicacion con un excelente diseño facil de hacer y trasladado a aplicacion. Zinc es otra alternativa, es una aplicacion que convierte las aplicaciones hechas en flash o flex a escritorio, entre estas dos opciones la mas viable es Air, pero tiene su curva de aprendizaje.

Para comenzar a trabajar elegire Java, en especial para utilizar un programa AOT conocido como Excelsior Jet, sirve para convertir los archivos bytecode (los compilados o los .class) en archivos ejecutables en windows sin necesidad de la maquina virtual.

Para la base de datos usare mongodb, traigo la curiosidad desde que lo probe en el evento del super happy dev house. Otra alternativa es XML, firebird, mysql, y sybase.

Herramientas adicionales probablemente use un programa llamado hammer, para crear un instalador, aunque es posible que si uso el excelsior jet use igualmente el installer del excelsior.
Otra herramienta adicional es el xmind, el cual me ha servido para mapear las ideas de que quiero y necesito.
No he pensado nada sobre la documentacion, aunque buscare algo para el diccionario de datos, quiza tambien use uml aunque deseo que el desarrollo sea facil y rapido.
El IDE elegido era netbeans, pero mi limitante de RAM me ha hecho considerar utilizar un simple editor de java como JCreator o JEdit, para las formas probare JFormDesigner aunque tengo la tentativa de hacer las formas por mi mismo.

Una fuerte tentativa es tomar algun proyecto de freelancer.com y desarrollarlo, igual no para lucrar pero para practicar, es quiza algo que haga almenos con un proyecto. Otra opcion es salir a la calle y ofrecer el servicio de desarrollo.
Aun quiero usar las tecnologias mencionadas, por lo que seguro abordare las diferentes opciones dependiendo de la situacion.

No deseo hacer proyectos web por un tiempo, almenos no la parte de diseño o no para alguien mas, es mucho desgaste el cumplir los gustos de las personas y no deja tanto, ademas es algo en lo que uno puede imprimir siempre su gusto o tecnicas que conoce y dificilmente le dara gusto al cliente, al menos en mi experiencia.

Aqui entra el sistema de prototipos, deseo algo que me permita diseñar muy rapidamente la pagina, que el cliente la vea y que pueda decir que quitar, poner, cambiar etc.

Por lo pronto, a iniciar con la agenda.

UPDATE: 6 de Mayo 2010
Otros proyectos del trabajo asi como aprender php me han ocupado una buena parte de mi tiempo, por lo que los desarrollos los he suspendido temporalmente.

No hay comentarios: