Comunicación Profesionales con mas valor • Escena actual Lo que se usa y porque • Tecnologias emergentes Lo próximo • Trabajo en equipo Comparación de metodologias • Consideraciones tecnicas Pensar primero, desarrollar despues • Proceso de desarrollo de software Desde la concepción de la idea hasta la publicación • Software libre Un nuevo modelo de negocios y oportunidades Agenda
mundo. • Desplazarse a otras ciudades • Trabajar de forma remota con internet Infinidad de recursos a nuestro alcanze de forma gratuita. Unicos requisitos para llevar adelante una idea: ➔ Tiempo ➔ Conocimientos ➔ Hardware Profesión, vocación
✔ Web (portales, mashups, comunidades) ✔ Escritorio (videojuegos, SGBD) ✔ Celulares ✔ Escribir un blog ✔ Documentar ✔ Reportar/corregir bugs Artesanos del siglo XXI • Creatividad • Puntillismo Profesión, vocación
fronteras laborales. Saber usarlos para tareas cotidianas convierte nuestra profesión en una vocación, de la que sacaremos mas provecho. Ejemplos • Desarrollar una aplicación para gestionar nuestro presupuesto • Desarrollar un videojuego para compartir con amigos • Programar algoritmos como si fueran crucigramas
de la comunicación: • Transmitir bien un mensaje (digitalmente, en persona) • Humildad Utilización de redes de contacto profesionales: ➢ LinkedIn, http://www.linkedin.com ➢ Xing, http://www.xing.com Para encontrar: • Nuevos empleos • Colaboradores para un proyecto • Expertos en areas especificas de conocimiento Comunicación
otros) • Foros Presenciales • Eventos • Conferencias/charlas • Grupos de usuario (Linux, Blender, ...) • ¿No existe un grupo con tus intereses? ¡Crealo! Comunicación
el usuario Ofrecen API y servicios Web que permiten integrar sus servicios por parte de terceros Ejemplos: Wikipedia (enciclopedia) YouTube (videos) Flickr (fotos)
aplicación Tecnologia libre Tecnologia propietaria Aplicación de escritorio Java Standard Edition Aplicación Web empresarial Java Enterprise Edition Aplicación Web Videojuego Aplicación móvil Java Mobile Edition .NET Mobile Cuadro tecnologico segun tipo de aplicación
de metadata que da información sobre un contenido y elementos relacionados, sin preocuparse por la presentación de esos datos (!HTML) Permitira buscar contenidos y obtener resultados que tenga relacion directa o indirecta con la frase escrita. Ejemplo de Web semantica: • RSS: Catalogación de contenidos de noticias y eventos
en diferentes aplicaciones y tecnologias. Entre los mas populares se encuentra el MVC (Model/View/Controller) que propone la separación de las capas logicas de una aplicación. Consideraciones tecnicas / patrones de diseño Swing Logica de negocios BBDD HTML/JSP WAP Vista Controlador Modelo XML
seguridad, e historico Edición de un mismo fichero de forma simultanea Soluciones libres ➔ CVS (concurrent versioning system) ➔ Subversion (SVN) Soluciones propietarias ➔ SourceSafe Consideraciones tecnicas / herramientas
para cada unidad de codigo que exista en una aplicación. (por ejemplo, una clase de test para cada clase del proyecto) Esto permite: • Identificar rapidamente errores consecuencia de un cambio. • Mantener el codigo libre de errores Herramientas *unit: cppunit, junit, Nunit, etc... Consideraciones tecnicas / buenas practicas
herramientas que permiten la creación (devel), depuración (debug) e incluso la optimización (profiling) de aplicaciones desde un mismo programa. Eclipse es una de esas fantasticas herramientas que te permitira trabajar y cambiar de tecnologias facilmente: ➢ Eclipse CDT (C/C++) ➢ Eclipse PDT (PHP) ➢ Eclipse JEE (Java Enterprise Edition, Web applications) Consideraciones tecnicas / herramientas
iterativo • Pruebas unitarias • Simplicidad Scrum • Autoorganización del equipo • Gestión del tiempo y tareas de forma autonoma Procesos de desarrollo / metodos agiles
no significa perder nuestro control sobre el. Las licencias existen para proteger nuestro valor intelectual, y poner algunas reglas en su redistribución. Licencias mas conocidas: • GPL: Publicar código. No permite derivados comerciales • LGPL: Similar a GPL. Puede ser usado en software propietario. • CPAL: Exige mostrar un logo del software original. • Otras...
• SourceForge, http://www.sourceforge.net • Google Code, http://code.google.com/hosting/ Servicios ofrecidos: • Control de versiones (SVN, CVS) • Hosting Web • Mailing list • Wiki