GNU Software Developer

1,908 views

Published on

Desarrollo de software en gnu/linux. Presentado por el Ing. José Alejandro Manuel García

Published in: Technology
2 Comments
1 Like
Statistics
Notes
  • De eso precisamente era la presentación y sé que muchos al igual que tu sacaron muy buenas conclusiones.



    Gracias pot tu comentario.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • La presentacion me dejo muy claro los elementos disponibles para el desrrollo de software, algo de lo que tenia muchas referencias inconexas
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
1,908
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
85
Comments
2
Likes
1
Embeds 0
No embeds

No notes for slide

GNU Software Developer

  1. 1. Desarrollo de Software en GNU/Linux (FLISOL – Abril 28, 2007) ISC José Alejandro Manuel García alejandro@g-w-systems.com
  2. 2. ¿Cómo programar en Linux? Al cambiar de Sistema Operativo surgen muchas dudas: ¿Qué lenguajes hay para programar? ¿Puedo programar GUIs? ¿Cómo compartir el código? ¿Qué herramientas hay disponibles? ¿Qué tan difícil es programar en GNU/Linux? ¿Cómo puedo hacerlo más fácil?
  3. 3. Un compilador para atraerlos a todos … GCC Es el principal compilador libre Significa GNU Compiler Collection Principalmente usado para lenguaje C Actualmente soporta los lenguajes: C/C++, Ada, Objective-C, Fortran o Java
  4. 4. Bibliotecas Gráficas Es necesario conocer 2 conceptos: Widget: es un componente de interfaz gráfica, a esto nos referimos a botones, ventanas, cajas de dialogo, cuadros de texto, etc. Es como lo que Windows se conocer como controles de formulario. Toolkit: es una colección de bibliotecas de componentes o widgets para desarrollar aplicaciones que tenga interfaz de usuario.
  5. 5. Qt Es un set completo de widgets estandar. Desarrollado por la empresa noruega TrollTech. Escrita en C++ totalmente orientado a objetos. Windows, MacOS X, X11. Permite escribir controles personalizados. Ligado al entorno KDE. Actualmente cuenta con una licencia dual.
  6. 6. GTK+ • Su nombre significa GIMP ToolKit. • Se pueden crear desde proyectos pequeños hasta aplicaciones completas • Esta escrito en lenguaje C pero soporta la idea de clases, objetos y callbacks. • Esta muy ligado al desarrollo gráfico del entorno GNOME. • Se fundamenta en 4 bibliotecas: Glib, Pango, ATK y GDK. • Es multiplataforma y tiene licencia LGPL.
  7. 7. OK, tenemos bibliotecas para crear GUIs en C/C++, pero… ¿Qué hay de los demás lenguajes?
  8. 8. Binding Un binding (envoltorio o recubrimiento en español) indica que la librería de software (usualmente escrita en C/C++) tiene un método para poder usarse con un lenguaje diferente al que esta programado.
  9. 9. Bindings más comunes Qt GTK+ Python Ada Ruby C++ Perl C# Java Objective-C Javascript PHP C# Python Ruby Perl Javascript Java Smalltalk … muchos más
  10. 10. Herramientas para el Desarrollo de Software Existen multitud de herramientas, desde editores de código hasta grandes proyectos que nos permiten hacer más cosas. Pero antes debemos considerar 2 conceptos en el desarrollo de software en GNU/Linux.
  11. 11. RAD (Rapid Application Development) Es una metodología que pone énfasis al desarrollo de aplicaciones en una cantidad corta de tiempo. Se refiere a las herramientas de desarrollo con el que podemos hacer interfaces de usuario gráficas (GUI) que una manera ágil. Ventajas: - Velocidad de desarrollo - Calidad Desventajas: - Características reducidas - Escalabilidad reducida
  12. 12. IDE (Integrated Development Environment) Significa Entorno de Desarrollo Integrado. Provee al programador de herramientas para construir grandes aplicaciones. Consiste en editor de código, compilador, depurador, constructor de GUIs. Kdevelop Qt Designer Kylix NetBeans Anjuta MonoDevelop Eclipse
  13. 13. ¿Cómo puedo hacerme la vida más fácil?
  14. 14. Frameworks para el desarrollo de software Es una plataforma de trabajo que facilita el desarrollo de software al programador. Históricamente en GNU/Linux no habían herramientas para agilizar la producción de software. Se han buscado muchas formas de aumentar la productividad y disminuir costes y tiempo.
  15. 15. PROYECTO MONO:: Es una iniciativa que tiene como finalidad implementar una plataforma de desarrollo libre, compatible con .NET, que permita a los programadores GNU/Linux desarrollar aplicaciones multiplataforma. .NET, por otra parte, es un proyecto propietario de Microsoft que tiene límites poco claros. En su sitio es definido como un conjunto de herramientas y servicios Web/XML. No obstante, se puede decir que consta de: Plataforma de Desarrollo. Servicios Web. Aplicaciones de Servidor. Software que vaya a ejecutarse bajo .NET
  16. 16. El proyecto Mono consta de los siguientes componentes: Mono Runtime, el entorno de ejecución, que provee un recolector de basura, cargador de clases, asi como un compilador en tiempo de ejecución (JIT). Mcs, el compilador del entorno, que genera CIL (quot;byte codequot;). Biblioteca de Clases, capaz de ser usada desde lenguajes que sean capaces de generar CIL. Herramientas de desarrollo gráfico.
  17. 17. JAVA Sun Microsystems esta liberando todas sus implementaciones de su plataforma Java bajo la misma licencia libre que es la GNU GPL, este ha sido uno de los mayores logros del software libre en la actualidad. Sun esta anunciando que: Licencia GPL v2 para las implementaciones de Java SE (JDK) y Java ME y agregar esta licencia a las implementaciones de Java EE. Primer lanzamiento del código para el JDK y para las implementaciones de Java EE, proyectos y comunidades. Establecer el itinerario para futuras liberaciones de código y la comunidad de desarrollo.
  18. 18. CONCLUSIONES Hemos visto que la programación en Linux no difiere tanto como se piensa comúnmente. Los lenguajes de programación son los mismos, la mayoría están estandarizados. Una pequeña diferencia sería la manera en que se crean las aplicaciones, debido a las herramientas que disponemos y toolkits gráficos. Los bindings son importantes para el desarrollo de aplicaciones en Linux.
  19. 19. ¿Preguntas? ¿Dudas? ¿Sugerencias? ¿Comentarios?
  20. 20. GRACIAS POR SU ATENCIÓN Sitios de interés: www.gtk.org www.trolltech.com www.gnu.org www.mono-project.com www.sun.com/software/opensource/java/index.jsp Contacto: José Alejandro Manuel García alejandro@g-w-systems.com alex@sysdev-solutions.net al3x.mg@gmail.com

×