Nuestra hoja de ruta…

¡Qué chulo queda eso de decir: “Nuestra hoja de ruta…”!. Parece que seamos un blog importante y todo!!!!!!!!!  ;-)

Pero tampoco se me ocurría otro título más sugerente. La idea es dejar esta entrada en la cabecera del blog hasta el día 15 de Agosto, momento en el que volveré a marcarla para que se recoloque en la fecha original. Existe en wordpress esta posibilidad para fijar una entrada determinada al inicio y creo que podemos aprovecharlo. Si no fuera así y siguiera añadiendo entradas al blog, posiblemente se perdería y pasaría desapercibida.

Quisiera que expresarais en los comentarios de esta entrada todo los que os parezca que tenga que ver con el futuro del blog y de la comunidad en general: hacia donde queréis que vaya, que tipo de contenido se echa en falta, que cosas suprimiríais, etc…

Como siempre he compartido con vosotros, y ademas he querido expresamente que fuera parte del espíritu de estas páginas, tenéis libertad para comentar lo que queráis, siempre que lo hagáis desde el respeto.  Es una buena oportunidad para expresaros, ya que aunque este blog es meramente un grano de arena en una inmensa playa, toda piedra hace margen y se generan inquietudes que, aunque yo no pueda quizás satisfacer, sean recogidas por otros blogs que vean un punto de inicio, un punto de partida hacia nuevas actividades.

Me gustaría contar con vuestras propuestas…. vuestro punto de vista sobre como os gustaría que fuera vuestra comunidad. No importa demasiado si estáis empezando a dar vuestros primeros pasos o si dejáis atrás un largo camino recorrido. En cada punto de ese sendero existen reivindicaciones, protestas, sugerencias que siempre nos crearon inquietudes. En serio… tanto si estas de paso y caes por casualidad en estas paginas como si llevas tras de ti un largo camino recorrido, puedes compartir esas ideas en la entrada y serán bienvenidas.

Un saludo a todos y recordad que está entrada permanecerá abierta hasta el 15 de Agosto, fecha en la que la daré por cerrada. Será un buen momento para analizar su contenido y  ver que cosas e ideas se pueden llevar adelante.

Comparte y disfruta:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Blogosphere News
  • LinkedIn
  • Meneame
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Twitter

Actualización de wordpress

Durante esta semana tenía previsto hacer la actualización de los blogs del servidor por lo que es posible que en algún momento deje éste de funcionar.  :-)  No es que sea demasiado complicado el tema porque si algo se puede decir de Wordpress es que han automatizado de una forma bastante sencilla todo lo que hace referencia a actualizaciones o complementos.

No obstante, siempre surgen historias… Todos los años me pasa lo mismo. Pienso que van a ser cosa de cinco minutos y acabo liado varios días.

Ya veis que se ha pasado la resaca del mundial. Con éxito pero pasó y se vuelve a lo cotidiano. Ahora volvemos a lo nuestro (tan pronto como resuelva el tema de las actualizaciones y las tareas de mantenimiento).

Es un buena época la del verano. Tiene sus pros y sus contras. A favor el tener mas tiempo libre que puede permitirte escribir, (más después de haber pasado las semanas anteriores liado con el tema del cambio de iva, que se ha sufrido en España desde el 1 de Julio y que ha requerido algunos retoques en las aplicaciones en algunos casos). En contra, que el tiempo libre es un bien precioso que hay que gastar también en otras cosas necesarias (leer, hacer deporte, tomarte unas cervezas con los amigos…). Cosas que habitualmente no sueles hacer con demasiada frecuencia.

Intentaremos mantener el equilibrio.  :-)

Saludos a todos.

El pulpo PAUL no engaña… (con Ñ de España) :-)

Un día grande para nuestro fútbol, un día feliz, lejos ya de los sufrimientos y de los sinsabores de otros mundiales. Estoy feliz. Muy feliz.  :-D

Y yo no es que sea demasiado futbolero, pero eso sí, de la ROJA hasta la médula. Lo siento por todos los equipos que hemos tenido que ganar para llegar a la final pero… este año es nuestro año.

Y en este mundial, con independencia de que al final ganemos la final, cosa que espero y deseo, y me muero de ganas, España ha demostrado la clase, el buen hacer y el buen futbol, la humildad y la nobleza. Ha tenido detalles que me han hecho sentir orgulloso de ser Español, como creo que muchos han sabido captar y valorar.

En fin… espero el Domingo ver a nuestro capitan levantar la copa.

El video de nuestra reina, Doña Sofía, bajando a vestuario me ha parecido tan simpatico que no tengo mas remedio que enlazarlo.    :-)

ÑA ÑA ÑA..

jajajajajajajajajajaja  ;-)

Comparte y disfruta:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Blogosphere News
  • LinkedIn
  • Meneame
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Twitter

TDBLookupComboBox al escenario (Parte I)

Llevaba varias semanas con la idea de hacer un par de comentarios breves sobre el componente TDBLookupComboBox y mira por donde, hoy parece que tengo unos minutos que voy a intentar aprovechar.

Así que vamos a ello. La idea es ayudar con algunas ideas a los compañeros que dan sus primeros pasos.

Este componente es bastante clásico (no es nuevo). Y está ubicado en la paleta “DataControl”, la paleta que Borland reservó en sus primeros días para alojar todos los controles de datos y se justifica, en un contexto donde el usuario selecciona un item entre los valores mostrados en una lista ligada a un conjunto de datos, para asignar un valor (como resultado de esta selección), en un campo del dataset destino. Así pues, este valor que va a ser asignado, es por regla general distinto del valor que es mostrado al usuario y también siguiendo el mismo razonamiento, formaría parte de un dato significativo de una tabla maestra respecto a su detalle (eso es algo lógico ¿no?). Digo “por regla general” ya que realmente no existe ninguna restricción que impida que los campos Keyfield y ListField se asignen al mismo nombre de campo pero esto no tendría demasiado sentido. Sería similar a la funcionalidad ofrecida por el componente TDbComboBox, salvando el hecho de que este obtiene su lista de selección sobre una lista de cadenas, cargada en memoria mediante algunos de los métodos que publica la clase TStrings.

Por poner un ejemplo que nos sirva de referencia en esta entrada, podemos imaginar una tabla de avisos muy sencilla, que nos servirá como recordatorio de una tarea, y en la que podemos anotar la fecha-hora,  el cliente, el comentario o la observación a recordar y si dicha tarea está activa o no lo está. La estructura habitual de un tabla así, podría ser similar a la generada por este script de sql:

CREATE TABLE [dbo].[Avisos] (
  [IDAviso] int IDENTITY(1, 1) NOT NULL,
  [IDCliente] int NOT NULL,
  [Fecha] datetime NOT NULL,
  [Comentario] varchar(80) NULL,
  [Activo] char(1) NULL,
  PRIMARY KEY CLUSTERED ([IDAviso])
)
ON [PRIMARY]
GO

Y siguiendo el ejemplo, se supone que debería existir otra tabla ligada a los clientes, que vamos a limitar a tres campos que puedan ser significativos, en este contexto (el identificador del cliente, el código del cliente y finalmente su nombre).

CREATE TABLE [dbo].[CLIENTES] (
  [IDCliente] int IDENTITY(1, 1) NOT NULL,
  [Codigo] int NOT NULL,
  [Nombre] varchar(40) NOT NULL,
  PRIMARY KEY CLUSTERED ([IDCliente])
)
ON [PRIMARY]
GO

Podría además existir definida en la base de datos la relación de clave ajena que permite vincular los valores almacenados en el campo IDCliente de la tabla avisos con los valores existentes en la tabla de clientes, pero a efectos de estos comentarios no es algo relevante, por lo que yo creo que podemos obviarlo y simplemente suponer que existe.

Para acompañar la entrada, he querido también preparar un pequeño ejemplo que recree lo que estamos compartiendo pero, como no he querido usar una conexión a base de datos, para no complicar el escenario con algo que tampoco es imprescindible, he añadido en el módulo de código un procedimiento para recrear la creación de nuestros datasets, que se ejecuta durante la creación del formulario.

procedure TMain.InicializacionDatosEjemplo;

Ya tenemos casi todos los ingredientes.

Si ojeais el procedimiento para inicializar los datos y la estructura del dataset, vereis que la tabla de Avisos contiene tanto el IDCliente como los campos Codigo y Nombre, aunque no pertenezcan a dicha tabla sino a la de Clientes.  Os incluyo una imagen que os muestra los campos que contienen cada ClientDataSet (en el codigo de inicialización he incluido para que sea mas didáctico, unas rutinas para crear los campos persistentes que están comentadas, ya que la creación la hice en tiempo de diseño)

Convenimos que podría ser algo razonable, fruto de una consulta sql similar a:

SELECT
  dbo.Avisos.IDAviso,
  dbo.Avisos.IDCliente,
  dbo.CLIENTES.Codigo as CodigoCliente,
  dbo.CLIENTES.Nombre as NombreCliente,
  dbo.Avisos.Fecha,
  dbo.Avisos.Comentario,
  dbo.Avisos.Activo
FROM
dbo.Avisos INNER JOIN dbo.Clientes ON
(dbo.CLIENTES.IDCliente = dbo.Avisos.IDCliente)

Esto no es nada extraño. Sería un efecto similar al haber definido los campos CodigoCliente y NombreCliente como Lookup vinculados a una consulta abierta al dataset del cliente, en lugar de haber sido creados como tipo Data, que es el caso referido. No… no digo que esté mal o bien  :-)  y si estas dando tus primeros pasos quizás lo veas hasta lógico que sea indicado. A mi también me pasaba… Pero la picaresca es muy útil y nos basta una pequeña “trampa” legal para evitar que los susodichos campos sean actualizables, obra y gracia de nuestro TClientDataSet. ¿Hay alguna razón de que todos los campos sean actualizables, contrastables y participen en la sentencia retornada a la base de datos…?

Ya sabeis por donde voy ¿no? Nos basta una simple asignacion a false en los valores pfInUpdate y pfInWhere de las opciones providerflags de cada uno de los dos campos. Y quedan los dos a nuestra merced, para que puedan ser alterados durante el proceso de grabación y confirmación de cambios (sin que afecten a nada). Eso sí… la sentencia sql debería referir en la parte que vincula una tabla con otra tras el FROM, siempre en primer lugar la tabla que va a ser actualizada, que en este caso concreto es la tabla de Avisos.

Seguimos avanzado en el ejemplo y diseñamos un formulario, que va a mostrar una rejilla en la parte superior y lo que pudiera ser una ficha editable en la parte inferior. El poner la rejilla es para hacerlo un poco más gráfico y visual y que se aprecie como dos cosas distintas, puesto que en todos los frameworks que hemos compartidos han existido estos dos elementos.

Esta es la imagen de nuestro único formulario:

Descargar el fichero fuente

Ahora nos resta escribir unas lineas de código, en el Evento OnValidate del campo CodigoCliente:

procedure TMain.cdsAvisosCodigoClienteValidate(Sender: TField);
begin
  if not Sender.IsNull then
  begin
     if cdsClientes.Locate('Codigo', Sender.Value, []) then
     begin
       cdsAvisos.FieldByName('IDCliente').Value:= cdsClientes.FieldByName('IDCliente').Value;
       cdsAvisos.FieldByName('NombreCliente').Value:= cdsClientes.FieldByName('Nombre').Value;
     end
     else raise Exception.Create('No se ha encontrado el cliente');
  end
  else begin
     cdsAvisos.FieldByName('IDCliente').Clear;
     cdsAvisos.FieldByName('NombreCliente').Clear;
  end;
end;

El efecto que estamos logrando es el de coordinar de una forma sencilla, tanto que pueda haber sido usado el selector de clientes como la casilla en la que el usuario va a introducir el código, dato que en un porcentaje alto de casos es sabido de antemano por el usuario.

Eso es algo bastante normal y corriente, que existan junto con la clave primaria, otras claves naturales que conviven y se garantizan mediante indices únicos. Imaginemos una tabla de pedidos (por poner un ejemplo claro), con una clave primaria que podría ser de tipo entero, incremental. Y una clave natural formada por el Ejercicio, la Empresa y el numero de pedido (y quizás la serie también si la empresa hiciera uso de series). La clave primaria en esos casos nunca es del dominio del usuario sino que es usada internamente por la aplicación para apuntar a los registros, mientras que la clave natural, en cambió, si es usada por el usuario al interactuar con el interfaz de la aplicación.

Pensareis: si hubieramos apuntado el campo KeyField de nuestro TDBLookupComboBox a IDCliente tambien hubiera funcionado sin ese código añadido en el evento OnValidate ¿no?.  Pues sí, pero fácilmente crearíais referencias circulares entre ambos, al intentar coexistir y modificarse uno a otro tras la acción del usuario. Al apuntar los dos componentes a CodigoCliente, cualquier modificación en uno de ellos, automáticamente modificará al otro.

Finalmente, habría que asignar los valores de las propiedades, tanto en el TDBEdit como en el TDBLookupComboBox. Veamoslo:

Primero en el TDBEdit. (el punto rojo nos indica la asignación)

También modificamos los valores de las propiedades implicadas en el selector. La conexión con el componente ClientDataSet vinculado a la tabla clientes se hace a través de ListSource, ListField y KeyField.

Esta podría ser una captura de la ejecución del código fuente que, aunque no resulte deslumbrante puesto que estamos compartiendo algo muy básico, al menos sí puede ser de utilidad para quien haya tenido dudas porque se enfrente por primera vez a montar estructuras similares. Descargad el código y comentáis lo que creáis oportuno.

Por hoy nada mas. Espero que os haya servido de ayuda.

La parte II, que posiblemente cerrará estos comentarios,  nos valdrá para reconocer algunas carencias del componente y ahondar en estas reflexiones que compartimos.

Comparte y disfruta:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Blogosphere News
  • LinkedIn
  • Meneame
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Twitter

Blaise Pascal Magazine Nº 11 (Mayo 2010)

Estos días pasados lo he dedicado principalmente a leer el último número de la revista Blaise Pascal, el número 11 correspondiente al mes de Mayo. Y aunque no he terminado su lectura, ya que la voy retomando a ratos perdidos, si que me gustaría compartir con vosotros que he disfrutado de alguno de los artículos, hecho que me ha llevado a escribir estas lineas.

¿Qué no conocíais nada de la revista?

Básicamente, se podría decir que es una revista en torno a Delphi, Delphi Prism y Lazarus. Y aunque, según parece tiene origen holandés no es menos cierto, desde el momento que participan autores de diversas partes del mundo, muchos de ellos conocidos por todos como Marco Cantú o Bob Swart, manifiesta un caracter multicultural, editando en varios idiomas, no solo en holandés sino en ingles y portugués, y no dudo que con el tiempo se pueda ampliar el numero de traducciones de los números.

Podeis acceder a su web a través del enlace:

Blaise Pascal Magazine


Portada número 11 (Mayo 2010)

Yo la conocí por primera vez a través de la oferta de la última licencia de Delphi, donde se ofrecía una suscripción gratuita de un año y una vez que ésta finalizó, renové dicha suscripción, pues sinceramente, me parecieron bastante útiles algunos del os contenidos que había leído y el precio no era disparatado.

La web psss… es posible que  sea un poco liosa o al menos, no demasiado atractiva o funcional, dicho esto como crítica constructiva y sin maldad. Pero como, entre nosotros (y sin que salga de aquí), no tenía intención de pasar demasiado tiempo visitándola sino que lo que de verdad me interesaba era el contenido de la revista, pues tampoco era algo que me preocupara.

Ummm…. Seguro que con el comentario anterior, mas de uno habrá corrido a clickear en el enlace a ver si es cierto lo que os comento… :-) No se quien dijo que la curiosidad no era buena…

Ya… ya… no está en español… Pero creo que a estas alturas casi todos estamos acostumbrados a leer la documentación en inglés. Así que no creo que sea demasiado problema.

Este es el índice del numero de Mayo, y con vuestro permiso he añadido una breve referencia a cada uno de los temas que se abordan:

  • Sincronización en una entorno multitarea de Primoz Gabrijelcic.
    • El artículo aborda la multitarea y los distintos objetos que provee el sistema operativo para la sincronización, y que están disponibles desde Delphi. Podría parecer que no es demasiado interesante y sin embargo a mi particularmente me ha gustado y lo he leido con atención, mas teniendo en cuenta que fue uno de los temas en los que colaboré desde la serie Threads de la Revista Síntesis. Me he fijado en gran manera, en los cambios que han devenido  y las nuevas posibilidades y enfoques de Vista y Windows 7, puesto que desde que fue escrita la serie, allá por Delphi 5/6 han existido cambios y se han  añadido algunos objetos.
  • PacMan in Delphi/Lazarus de Jean Pierre Hoefnagel.
    • ¿Quieres jugar un rato a un conocido arcade?.  El artículo de Jean Pierre nos abre la posibilidad de jugar a este juego histórico,  con el que muchos hemos pasado muchas horas de la adolescencia, escapando de los fantasmas. También ha sido una buena lectura. Desde el articulo, proponen a los lectores que envíen nuevos complementos a la lógica del juego para que sean publicadas junto al código fuente y ampliado el desempeño del mismo.
  • Migrando desde BDE a ADS de Bob Swart.
    • Esto quizás no pueda ser demasiado conocido por la comunidad, pero tras ser discontinuado el BDE, el que conocimos como motor de base de datos o Borland Database Engine, que nos acompaño se puede decir que desde siempre, han aparecido alternativas como Advantage Database Server (ADS), que pueden permitirnos acceder a multiples bases de datos como Interbase/Firebird, SQLServer, BlackFishSQL, e incluso Access. En el artículo, Bob Swart, nos enseñará como hacer la migración desde el BDE hacia ADS. ¿Puede esto abrirnos un nuevo camino?. Ni idea… pero parece interesante y como yo suelo decir: -¡Bueno es saberlo!.
  • Fotografias en Internet de Henk Schreij.
    • Aquí vais a recorrer una de las paletas de Indy y se mostrará como podéis dotar de funcionalidad a vuestros programas con el componente Indy FTP, mediante un pequeño ejemplo que permite subir vía ftp a un servidor, para que la fotografía sea mostrada por una pagina web. Este ejemplo os puede servir de referencia para extenderlo a otras areas que también se pueden beneficiar de su uso. Sin ir mas lejos, yo he utilizado rutinas similares basadas en el componente de Indy FTP para actualizar ficheros de mis aplicaciones, descargando de los servidores vía ftp aquellas librerias, componentes o ejecutables que pudieran ser necesarios para actualizar una versión.
  • Optimizando JPEGs de Henk Shreij.
    • Este no lo he leído todavía pero os anticipo que si os gusta o necesitais manipular imagenes en el formato jpg para reducir su tamaño puede resultaros de utilidad. En el articulo se muestra como se puede reducir el tamaño de la imagen hasta llegar inclusive a lo que habitualmente conocemos como Thumbnail
  • Dibujando poligonos regulares de David Dirkse.
    • Continua la serie de David Dirkse, sobre las funciones de dibujo. En el de Mayo, encontrareis expresiones trigonométricas y ciencia matemática aplicadas a la representación de los polígonos regulares. Es otro de los artículos que me queda por leer y que siempre dejo para el final… quizás porque las matemáticas siempre  fueron un pequeño hueso…  ;-)
  • Introducción a la API de Google Documentos desde Delphi de Marco Cantú.
    • Interesante artículo de Marco Cantú, al menos si estás pensando en abordar el API de Google Docs. Sobre este tema o similares, podéis encontrar información adicional también escrita o filmada en video por Marco Cantú. Me viene concretamente a la memoria algún video sobre el uso de google en la traducción de recursos con motivo de el lanzamiento de Delphi ¿2009? y la internacionalización de aplicaciones, ya que se resaltaba la introduccion de Unicode dentro del entorno.  O incluso, la api de localización geográfica que también fue abordada por el. No obstante hablo de memoria.
  • Usando TNS Poly List Controls de Bruno Fierens.
    • En el artículo se pueden conocer los componentes del paquete de controles TMS Poli List Controls, que nos permitiría dar una apariencia a los menús de Office 2010, con una serie de componentes que forman parte del abanico de elementos propios y específicos de aquel interfaz: TButtonItem, TCheckItem, TRadioItem, TGroupItem, TDropDownItem, etc…
  • CodeHealer 2.6: caja de herramientas fantastica o medicina de Rik Smit.
    • No se si la traducción del título es correcta o no. En cualquier caso, en el breve artículo de Rik Smit se nos permite conocer una herramienta que trabaja sobre nuestro proyecto, aportando amplia información sobre el mismo y permitiendo descubrir errores y obtener métricas del mismo. Este tipo de artículos, cobran sentido si se acompañan lógicamente de nuestra acción de descarga de la trial de la herramienta para evaluarla nosotros y contrastar la información. No. No he descargado la trial aunque si dispongo de tiempo quizás lo haga. En determinados casos puede ser interesante esa metainformación de nuestros proyectos.
  • Programming Frogs de David Dirkse.
    • Este lo he releido por encima y basicamente y como siempre hemos dicho, uno aprende programación jugando, diviertiéndose,   y para muestra, bien pudiera ser implementar el algoritmo que resuelva el problema de las ranitas, como lo hace Davie Dirkse. En este caso, he preferido buscaros en internet un video que muestra el problema de forma visual. Así se entiende perfectamente de que va el tema.
  • Database Workbench, herramienta de productividad de Miguel van der Laar.
    • Como reza la conclusión del articulo de Miguel van der Laar, Database Workbench nos ofrece un interfaz de usuario completo y uniforme para multitud de motores de datos, permitiendo las tareas habituales propias de estas herramientas, como la generación de scripts, testeo de datos, copias de seguridad y restauración, etc… Pero yo no puedo valorar si es esta conclusión mas o menos acertada a la realidad ya que no conozco este producto ni lo he llegado a utilizar.
  • Introduccion a la Open Tools Api de Jeremy North.
    • Introduccion a los conceptos relacionados con la Api Open Tools, que nos va a permitir interactuar con el IDE. Un tema en mi opinión complicado porque no es demasiado habitual y nos obliga a tener un buen conocimiento de las interfaces y del funcionamiento de como se relaciona el IDE con las extensiones que puedan ser añadidas. Las ultimas versiones han traído cambios significativos. La serie continuará en próximos números de la revista y puede llegar a ser bastante interesante, en la medida que aporte claridad.
  • Patrones de diseño de Herman Peeren.
    • Y finalmente, cierra la revista, un pequeño anticipo de una serie en la que se  van a compartir los 23 patrones clásicos, que forman parte de los que habitualmente se conoce como Patrones de diseño. Este terminó se acuño a raiz del libro Design Patterns: Elements of Reusable Object-Oriented Software, escrito por lo que finalmente se llamo el grupo de los cuatro (GoF), Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides, en  1995. Es un articulo enfocado desde un punto de vista práctico y se acompaña cada patrón con una imagen simbólica que ayude al lector a comprender mejor y recordarlo.

No son excesivas páginas pero ya veis que son bastante variados los temas que se tratan y creo que merecía que fuera resaltado por cuanto no existen demasiada oferta de publicaciones activas y actuales. Me recuerda a aquella entrañable revista Mundo Delphi, que tuvo un periodo corto de vida (apenas un año), aunque a diferencia de otros proyectos que he visto y otros que he vivido, va un poco mas allá e intenta consolidar un espíritu mas plural y universal. La linea editorial de Detlef  Overbeek golpea en ocasiones la linea de flotación de Embarcadero, como lo hizo en su día Jose Luis Freire desde Síntesis o desde el Boletín de Delphi, aunque en este caso, las reclamaciones vayan mas en la linea de conseguir precios mas racionales y versiones educativas al alcance de la nueva generación de desarrolladores. Cada tiempo tiene su afán y cada comunidad sus propios demonios.

Por cierto… desde sus paginas y desde la web y las actividades que se promueven, se potencia Lazarus también, lo cual no nos debería pasar inadvertido.

Comparte y disfruta:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Blogosphere News
  • LinkedIn
  • Meneame
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Twitter

ER/Studio Developer Edition y DB Optimizer (Vídeo en español)

No hay demasiadas novedades esta semana…

No recuerdo nada ahora mismo, desde la última entrada que escribí, algo que me haya generado alguna inquietud, grande o pequeña, en un sentido u en otro, o la necesidad de apuntarlo por alguna parte para luego recordarlo, ni nada similar. También es cierto que no he buscado demasiado, pero habitualmente los canales básicos como el twitter, las diversas tribus creadas, o la misma blogosfera de embarcadero,  nos permiten sospechar que hay novedades y que existe un movimiento entre bastidores, presagio de lanzamientos comerciales o de cambios importantes.

Me queda la impresión de que todos andan concentrados en sus trabajos y quimeras y que, las pocas novedades que surgen son mas bien algo artificial, con el fin de que no decaiga la cosa y se siga hablando…

De las pocas cosas que me puedo llevar a la boca, el aperitivo de un pequeño vídeo en español, editado por Andreano Lanusse, y que nos presenta las dos herramientas: ER/Studio Developer y DB Optimizer, interactuando desde RAD Studio.

Visionar los poco más de 7 minutos que dura, no os va a hacer expertos en estas herramientas pero al menos, sí os pueden ayudar a comprender que papel pueden jugar ambas en el contexto de vuestro compilador.

Del resto de temas, quizás destacaría el enlace a la pagina de Tim del Chiaro,

http://delphi-insider.blogspot.com/2010/05/share-your-thoughts-embarcadero.html

donde podéis acceder a la nueva encuesta lanzada por el departamento de marketing de Embarcadero:

http://www.surveymonkey.com/s/embt-developer

En otras ocasiones hemos compartido la publicación de estos cuestionarios dirigidos a los usuarios de las herramientas de Embarcadero. Ya veis que no es una noticia deslumbrante pero bueno, también entiendo que forma parte de esas cosas que se deben hacer de forma regular para analizar los mercados y la intención de compra y necesidades de sus desarrolladores. Un feedback que siempre es bien recibido.

Comparte y disfruta:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Blogosphere News
  • LinkedIn
  • Meneame
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Twitter

Plan de ruta de Embarcadero para Delphi… sombras y luces…

Aunque hace algunos días que tenía noticias de que había sido actualizado el plan de ruta (roadmap) de Embarcadero para Delphi, he querido ser prudente y no incluir el comentario en el blog al menos hasta haber leído algunas opiniones que me situaran sobre el tema, ya que desde siempre fue algo bastante contestado, con opiniones apasionadas y bastante subjetivas. La noticía originalmente partía como es natural de la mano de Michael Rozlog, por el cargo que ocupa en Embarcadero, y podía ser leída en las entradas de su blog en la empresa:   RAD Studio, Delphi and C++Builder Roadmap

En dicho artículo, que muchos encontrareis de interés, se muestran imágenes a modo de las clásicas diapositivas de las presentación, exponiendo de forma resumida y esquemática los distintos proyectos en marcha, con las nuevas fechas propuestas para su salida. Todo esto ya era conocido por nosotros, mas o menos, mas teniendo en cuenta que este plan de ruta ya estaba escrito y publicado y lo que hoy hemos podido leer es una actualización al mismo, una puesta al día de las fechas y del alcance del contenido de los proyectos a tenor de los cambios y novedades tecnológicas. Si recordáis, el primer contacto que tuvimos con este plan de ruta en nuestro blog, fue a través de la traducción de ese artículo que hablaba sobre el futuro de Delphi.

Así que os aconsejo que antes de entrar en el apartado de luces y sombras, que anticipa el titulo de la entrada, leáis con atención esa ultima actualización del Roadmap de Delphi. Y hecho esto, entréis de lleno en el mundo de las opiniones, representadas en varias entradas y discusiones abiertas. A mi particularmente, me ha parecido muy acertada y me gusta la valoración que hace el periodista sobre tecnologías Tim Anderson en su blog, donde se pregunta ¿qué será lo siguiente?

What next for Embarcadero Delphi? Roadmap with Mac, Linux support published.

Fijaos en uno de los parrafos centrales de su entrada, que en mi opinión no puede ser mas acertado y racional:

“Is Embarcadero doing enough to keep Delphi current? I’m not sure. Delphi is a fantastic RAD and native code compiler for Windows; in the past it suffered when Borland tried to extend it beyond that, to Linux and .NET, distracting development effort from its core role. The risk here is that the Mac and Linux effort may be more of the same”.

“may be more of the same”… que pueda ser más de los mismo… Parece claro… La pregunta sobre si está haciendo lo suficiente desde la perspectiva de Delphi, no encuentra una respuesta clara o segura en ese razonamiento y recuerda que podemos revivir las experiencias sufridas por Borland (en ese intento de llegar a Linux y .Net), representadas ahora en el proyecto de Embarcadero para Mac y Linux.

El artículo, aunque breve es muy interesante y de obligada lectura.

Y si buscáis opiniones más parciales, más de la casa, aunque no por eso menos valiosas, dad una vuelta por las paginas de Marco Cantú, que también matiza sus preferencias en esa hoja de ruta:

Delphi Roadmap, May 2010 Update

La discusión está viva y abierta. Los desarrolladores se posicionan de forma diferente según sus necesidades pero existe en el aire la idea de que existe cierto retraso, de que puede que parte de este esfuerzo se diluya sin demasiado sentido. La discusión abierta en : https://forums.embarcadero.com/thread.jspa?threadID=36974&tstart=0 es una muestra de que todos esperan cambios significativos y no un mero maquillaje de lo que puede ser un rumbo incierto.

¿Y nosotros que…? ¿Qué espera la comunidad hispana de ese Roadmap de Delphi?

Pregunta muy comprometida para una comunidad demasiado conformista…

Comparte y disfruta:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Blogosphere News
  • LinkedIn
  • Meneame
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Twitter

Últimas promociones de compra de Delphi 2010

Para aquellos que pudieran tener pensamiento de adquirir Delphi 2010, no se si conocéis que se ha lanzado un promoción especial de compra, vigente desde el 26 de Abril hasta el 28 de Junio del 2010.  Esta promoción la podéis encontrar en:

http://www.embarcadero.com/radoffer

donde podéis ampliar la información sobre la misma. En principio parece interesante.

Básicamente, existen dos posibilidades a elegir:

1.- La compra de Delphi 2010 ó C++ Builder 2010, te permitiría adquirir RAD Studio incluyendo las tres personalidades (Dephi, C++ Builder y Delphi Prism).

2.- La compra de Rad Studio 2010 Enterprise, te permitiría adquirir RAD Studio Architect + DBOptimizer, que como sabéis es una de las herramientas de Embarcadero de optimización de las consultas de SQL.

Y en cualquiera de los dos casos, se recibirían también gratuitamente los controles TMS Smooth Controls y el libro Delphi 2010 Handbook de Marco Cantú

Existe un comentario al final de la entrada de Embarcadero sobre la fecha 15 de Julio, que sería, en principio, la fecha tope para acogerse a los bonus de compra de ambas ofertas.

También os aconsejo que leáis previamente las condiciones de compra, existentes en:

Términos y condiciones de compra

para no llevaros sorpresas.

Finalmente, y cambiando de tercio, he visto esta tarde en Twitter que está preparando Jim McKeet una interesante entrevista a Nick Hodges y requería de los lectores y seguidores de su blog que sugirieran preguntas interesantes.

http://www.delphi.org/2010/05/questions-for-nick-hodges/

Y a tenor de lo leído, puede ser una entrevista muy atractiva, que no deberíamos perder.

Entre las preguntas me quedo con una, planteada por Mihaela MJ, donde plantea la eterna pregunta de que nuestra herramienta tenga un sistema que haga sencilla la migración a otro equipo tanto del entorno como de los componentes/herramientas de terceros. Esa pregunta yo también me la he hecho… :-)  cada vez que he tenido que reinstalar Delphi tras el formateo de mi pc.

Estaremos atentos…

Comparte y disfruta:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Blogosphere News
  • LinkedIn
  • Meneame
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Twitter

"Reza, ten fe y no te preocupes" - San Pío de Pietrelcina






Espacio sin animo de lucro
El autor se reserva el derecho de eliminar aquellos comentarios contrarios a la ley o que tengan caracter irrespetuoso o de mal gusto.




Aviso legal sobre marcas

Estas páginas no tienen ánimo de lucro ni carácter comercial.
Cualesquiera marcas ajenas comentadas o que aparecen en el sitio web pertenecen a sus respectivos propietarios, los cuales poseen el Copyright de las mismas y/o de los logotipos asociados.
El uso de dichas marcas será siempre ilustrativo; en ningún caso se pretende establecer relación alguna entre dichas empresas y el autor del blog, ni la información presente en estas páginas sobre dichas empresas y/o sus productos está avalada en modo alguno por dichas empresas, excepto en aquellos casos en que la información se base en publicaciones o datos emitidos por las mismas.