Actualidad de los lenguajes xbase <ul><li>Jaime Irurzun  [etox] </li></ul><ul><li>[email_address] </li></ul><ul><li>e-ghos...
Actualidad de los lenguajes xbase <ul><li>Introducción </li></ul><ul><li>Evolución histórica </li></ul><ul><li>Herramienta...
<ul><li>¿Por qué xbase? </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
<ul><li>¿Qué es xbase? </li></ul><ul><li>Conjunto de lenguajes y herramientas herederas de dBase orientadas al desarrollo ...
1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas (Wayne Ratliff & George Tate) (Nantucket) (Fivetech)
<ul><li>Herramientas actuales </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas <ul><li>Compil...
<ul><li>Compiladores: Harbour y xHarbour </li></ul><ul><li>Son un 99% compatibles con Clipper  </li></ul><ul><li>No son ve...
<ul><li>Compiladores y GUIs: Quién con Quién </li></ul><ul><li>Windows </li></ul><ul><li>xHarbour + Xailer </li></ul><ul><...
<ul><li>GUIs: Xailer (1/2) </li></ul><ul><li>Ofrece un completísimo IDE </li></ul><ul><li>Incluye motor de informes  </li>...
<ul><li>GUIs: Xailer (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo   </li></ul><ul><li>#include &quot;Xailer.ch” </li></ul...
<ul><li>GUIs: Visual xHarbour (1/2) </li></ul><ul><li>Incluye un IDE </li></ul><ul><li>Es totalmente orientado a objetos <...
<ul><li>GUIs: Visual xHarbour (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo. </li></ul><ul><li>GLOBAL EXTERNAL System </li>...
<ul><li>GUIs: MiniGUI (1/2) </li></ul><ul><li>Incluye un IDE muy limitado </li></ul><ul><li>Combina la POO con los comando...
<ul><li>GUIs: MiniGUI (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo desde código. </li></ul><ul><li>#include “MiniGUI.ch&qu...
<ul><li>GUIs: T-GTK (1/2) </li></ul><ul><li>Es una implementación de GTK para (x)Harbour </li></ul><ul><li>No tiene IDE, s...
<ul><li>GUIs: T-GTK (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo utilizando un formulario de Glade. </li></ul><ul><li>#inc...
<ul><li>Datos: SQL </li></ul><ul><li>Librerías de terceros para Harbour y xHarbour: </li></ul><ul><li>-  Eagle1: Acceso di...
<ul><li>Los lenguajes xbase siguen vivos  </li></ul><ul><li>Siguen siendo una gran opción para el software de gestión </li...
? 1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
Upcoming SlideShare
Loading in …5
×

Actualidad de los lenguajes xbase

2,390 views
2,210 views

Published on

Charla impartida durante los cursillos de julio de 2008 organizados por el e-ghost en la Universidad de Deusto.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,390
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Actualidad de los lenguajes xbase

  1. 1. Actualidad de los lenguajes xbase <ul><li>Jaime Irurzun [etox] </li></ul><ul><li>[email_address] </li></ul><ul><li>e-ghost | Julio 2007 </li></ul>
  2. 2. Actualidad de los lenguajes xbase <ul><li>Introducción </li></ul><ul><li>Evolución histórica </li></ul><ul><li>Herramientas actuales </li></ul><ul><li>Conclusiones </li></ul><ul><li>Preguntas </li></ul>
  3. 3. <ul><li>¿Por qué xbase? </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  4. 4. <ul><li>¿Qué es xbase? </li></ul><ul><li>Conjunto de lenguajes y herramientas herederas de dBase orientadas al desarrollo de software de gestión </li></ul>+ + 1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas Comandos dBase USE Cliente USE Clientes APPEND BLANK REPLACE dni WITH “1608…” REPLACE nombre WITH “Pablo” COMMIT CLOSE <ul><li>Ficheros .DBF </li></ul><ul><li>Tablas navegables </li></ul><ul><li>Manipulación manual </li></ul><ul><ul><li>Apertura y Cierre </li></ul></ul><ul><ul><li>Bloqueo y Desbloqueo </li></ul></ul><ul><ul><li>Índices </li></ul></ul><ul><li>Modelo SQLite </li></ul>Sintaxis Clipper for i := 0 to 99 do j := 0; while j < 50 do validar( i * j ) j++ end while next
  5. 5. 1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas (Wayne Ratliff & George Tate) (Nantucket) (Fivetech)
  6. 6. <ul><li>Herramientas actuales </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas <ul><li>Compilador (C) </li></ul><ul><li>Harbour </li></ul><ul><li>xHarbour </li></ul><ul><li>GUI (V) </li></ul><ul><li>Windows </li></ul><ul><ul><li>Xailer </li></ul></ul><ul><ul><li>Visual xHarbour </li></ul></ul><ul><ul><li>MiniGUI </li></ul></ul><ul><ul><li>T-GTK </li></ul></ul><ul><ul><li>FiveWin </li></ul></ul><ul><li>Mac OS X </li></ul><ul><ul><li>T-GTK </li></ul></ul><ul><ul><li>FiveMac </li></ul></ul><ul><li>GNU/Linux </li></ul><ul><ul><li>T-GTK </li></ul></ul><ul><ul><li>FiveLinux </li></ul></ul><ul><li>PocketPC y SmartPhone </li></ul><ul><ul><li>FivePPC </li></ul></ul><ul><li>Datos (M) </li></ul><ul><li>SQL (3rd parties) </li></ul><ul><li>Ficheros .DBF </li></ul>
  7. 7. <ul><li>Compiladores: Harbour y xHarbour </li></ul><ul><li>Son un 99% compatibles con Clipper </li></ul><ul><li>No son verdaderos compiladores, generan PCODE </li></ul><ul><li>Dependen de un compilador de C: GCC, BCC, MVC++, PellesC </li></ul><ul><li>Mantienen distintas filosofías: </li></ul><ul><li>- Harbour: Ceñirse a la compatibilidad con Clipper </li></ul><ul><li>- xHarbour (eXtended Harbour): Modernizar el lenguaje </li></ul><ul><li>Software Libre: Licencia LGPL </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  8. 8. <ul><li>Compiladores y GUIs: Quién con Quién </li></ul><ul><li>Windows </li></ul><ul><li>xHarbour + Xailer </li></ul><ul><li>xHarbour + Visual xHarbour </li></ul><ul><li>Harbour + MiniGUI </li></ul><ul><li>(x)Harbour + T-GTK </li></ul><ul><li>(x)Harbour + FiveWin </li></ul><ul><li>Mac OS X </li></ul><ul><li>(x)Harbour + T-GTK </li></ul><ul><li>(x)Harbour + FiveMac </li></ul><ul><li>GNU/Linux </li></ul><ul><li>(x)Harbour + T-GTK </li></ul><ul><li>(x)Harbour + FiveLinux </li></ul><ul><li>PocketPC y SmartPhone </li></ul><ul><li>(x)Harbour + FivePPC </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  9. 9. <ul><li>GUIs: Xailer (1/2) </li></ul><ul><li>Ofrece un completísimo IDE </li></ul><ul><li>Incluye motor de informes </li></ul><ul><li>Es totalmente orientado a objetos </li></ul><ul><li>Simplifica el trabajo con DataControls </li></ul><ul><li>Soporta componentes OCX (ActiveX) </li></ul><ul><li>No oculta el código de generación de los formularios </li></ul><ul><li>Funciona sólo con xHarbour y BCC </li></ul><ul><li>Actualmente sólo para Windows </li></ul><ul><li>Software privativo (entrega el 90% del código) </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  10. 10. <ul><li>GUIs: Xailer (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo  </li></ul><ul><li>#include &quot;Xailer.ch” </li></ul><ul><li>CLASS THolaMundo FROM Tform </li></ul><ul><li>COMPONENT oLabel </li></ul><ul><li>COMPONENT oButton </li></ul><ul><li>METHOD CreateForm() </li></ul><ul><li>METHOD ButtonClick( oSender ) </li></ul><ul><li>METHOD FormInitialize( oSender ) </li></ul><ul><li>ENDCLASS </li></ul><ul><li>#include &quot;FormHolaMundo.xfm&quot; </li></ul><ul><li>METHOD ButtonClick( oSender ) CLASS THolaMundo </li></ul><ul><li>::oLabel:SetText( “¡Hola mundo!” ) </li></ul><ul><li>RETURN Nil </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  11. 11. <ul><li>GUIs: Visual xHarbour (1/2) </li></ul><ul><li>Incluye un IDE </li></ul><ul><li>Es totalmente orientado a objetos </li></ul><ul><li>No oculta el código de generación de los formularios </li></ul><ul><li>Lo lleva xHarbour.com, principal impulsora de xHarbour.org </li></ul><ul><li>Funciona sólo con la versión comercial de xHarbour </li></ul><ul><li>Utiliza su propio compilador de C </li></ul><ul><li>Actualmente sólo para Windows </li></ul><ul><li>Software privativo </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  12. 12. <ul><li>GUIs: Visual xHarbour (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo. </li></ul><ul><li>GLOBAL EXTERNAL System </li></ul><ul><li>GLOBAL EXTERNAL Application </li></ul><ul><li>#include “vxh.ch” </li></ul><ul><li>#include “FormHolaMundo.ch” </li></ul><ul><li>METHOD ButtonClick( Sender ) CLASS FormHolaMundo </li></ul><ul><li>::Label:Caption := “Hola Mundo” </li></ul><ul><li>RETURN Self </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  13. 13. <ul><li>GUIs: MiniGUI (1/2) </li></ul><ul><li>Incluye un IDE muy limitado </li></ul><ul><li>Combina la POO con los comandos tradicionales </li></ul><ul><li>Está orientado a pequeñas aplicaciones </li></ul><ul><li>Funciona sólo con Harbour </li></ul><ul><li>Actualmente sólo para Windows </li></ul><ul><li>Software Libre: Licencia LGPL </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  14. 14. <ul><li>GUIs: MiniGUI (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo desde código. </li></ul><ul><li>#include “MiniGUI.ch&quot; function Main() DEFINE WINDOW oHolaMundo; AT 0,0; WIDTH 400; HEIGHT 200; TITLE “¡Hola Mundo!”; MAIN END WINDOW ACTIVATE WINDOW oHolaMundo return </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  15. 15. <ul><li>GUIs: T-GTK (1/2) </li></ul><ul><li>Es una implementación de GTK para (x)Harbour </li></ul><ul><li>No tiene IDE, se puede recurrir a Glade </li></ul><ul><li>Implementa los comandos clásicos frente a la POO </li></ul><ul><li>Funciona con Harbour y con xHarbour </li></ul><ul><li>Es la única GUI multiplataforma </li></ul><ul><li>Software Libre: Licencia LGPL </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  16. 16. <ul><li>GUIs: T-GTK (2/2) </li></ul><ul><li>Ejemplo : Hola Mundo utilizando un formulario de Glade. </li></ul><ul><li>#include “gclass.ch” </li></ul><ul><li>function Main() </li></ul><ul><li>local cResource, cWnd </li></ul><ul><li>SET RESOURCES cResource FROM FILE “recursos.glade” </li></ul><ul><li>DEFINE WINDOW oWnd ID “window1” RESOURCE cResource </li></ul><ul><li>ACTIVATE WINDOW oWnd </li></ul><ul><li>return NIL </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  17. 17. <ul><li>Datos: SQL </li></ul><ul><li>Librerías de terceros para Harbour y xHarbour: </li></ul><ul><li>- Eagle1: Acceso directo a MySQL (priv.) </li></ul><ul><li>- Condor: Acceso a cualquier motor mediante ODBC (priv.) </li></ul><ul><li>- En desarrollo: Acceso directo a SQLite (libre) </li></ul><ul><li>Xailer implementa, únicamente para xHarbour: </li></ul><ul><ul><ul><li>- Acceso a cualquier motor mediante ODBC y ADO </li></ul></ul></ul><ul><ul><ul><li>- Acceso directo a MySQL y SQLite </li></ul></ul></ul><ul><li>Tarea pendiente: Acceso nativo “de serie” en xHarbour </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  18. 18. <ul><li>Los lenguajes xbase siguen vivos </li></ul><ul><li>Siguen siendo una gran opción para el software de gestión </li></ul><ul><li>- Grupo SP, Renfe, Osakidetza… </li></ul><ul><li>- Pequeños negocios </li></ul><ul><li>Necesitan reaccionar para no morir en un futuro medio </li></ul><ul><li>- Ofrecer cosas nuevas </li></ul><ul><li>- Ampliar la comunidad de desarrolladores </li></ul>1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas
  19. 19. ? 1 Introducción 2 Historia 3 Herramientas 4 Conclusiones 5 Preguntas

×