XE3 Iberian Tour: Ultima parada Valencia


xe3tour1000x125 Valencia fue la última parada del  XE3 Iberian Tour de Danysoft, que en esta ocasión ha visitado Málaga y Valencia en España y Lisboa en Portugal. La idea de que se celebre en otras ciudades, como ya comenté a través del grupo de facebook, Delphi Solidario, me parece magnifica, pues da pie a que muchos más usuarios de distintas ciudades, que no son la capital ni Barcelona, accedan fácilmente a estos eventos. De no ser así difícilmente asistirían, mas si la presentación a la que deban desplazarse suponga en algunos casos mas de 400 kms, cosa fácil en el momento en el que tu residencia sea el sur de España, cualquier ciudad del norte, o la cosa de Levante, como es mi caso. Eso sí, si lo tienes cerca, la cosa cambia un poco. Cada uno tiene su propia opinión y yo, desde siempre, he valorado muy positivamente estas presentaciones porque aportan detalles que suelen pasar inadvertidos en los eventos on line, Aun cuando escuches días después un audio que transcriba el evento no hay nada mejor que vivirlo y siempre que me ha sido posible es lo que he intentado. De igual forma los he compartido con vosotros porque estaba seguro de que son de vuestro interés. Así que en ese sentido os animo a que asistáis y que mantengáis el contacto con las novedades, aunque no exista a la vista la previsión de actualizarse. Incluso os diría una cosa: puede ser cualquier evento de estos, una buena oportunidad para conocer otros compañeros y compartir su vivencia profesional. Siempre hay alguna oportunidad de saludar a otras personas antes, durante y después del evento, aunque formalmente se sitúe el tiempo de la pausa para el café  como ideal para ello.

En referencia a este conjunto de eventos, comentaré que prosiguen y continúan el vivido durante la primera semana de Noviembre, que se vino a llamar “4 horas con Rad Studio XE3 y que muchos compañeros pudieron seguir tanto de forma on line como presencial. Yo en aquel momento por motivos de trabajo no pude asistir, ni a uno ni a otro, pero las referencias que me hicieron otros compañeros y amigos respecto a este punto me ha hecho buscar esta información y que os la pueda ofrecer al final de la entrada, en el apartado de recursos disponibles. Allí tenéis tanto la hoja de presentación de aquel evento del 7 de Noviembre, de la web de Danysoft, así como la difusión del video online, para que podais volverlo a ver si es que no habéis podido asistir ni a aquellos eventos ni a los actuales del tour. El contenido es básicamente el mismo y se diferencia principalmente de aquel en que además se incluyo una apartado a comentar la disponibilidad de fast report, que entonces no se vió.

El cita de Valencia

La fecha del 29 de Noviembre, jueves, marcaba la cita de Valencia y al contrario que otras ocasiones, viajé en compañía de dos compañeros, David y Jero, lo cual hizo bastante más ameno el viaje. Esto no es demasiado habitual. Hasta ahora siempre he asistido solo a estos eventos pero al comentarme estos dos amigos que tenían intención de ir, convenimos en desplazarnos en un único vehículo. Si tenemos en cuenta mi poca predisposición a conducir os imaginareis que tardé poco en aceptar la proposición. :-D  Ambos, son programadores en una empresa de software de gestión, en la ciudad de Elx, a 10 kilómetros de mi localidad, y durante el trayecto, pudimos charlar e intercambiar opiniones sobre metodología de trabajo, bases de datos y noticias diversas, salpicadas con gotas de la actualidad local y nacional. ¡En dos horas casi arreglamos el país y el entorno de desarrollo! :lol:    Fue bastante ameno el viaje y cuando nos dimos cuenta andabamos ya en la Pista de Silla, con el trafico habitual que encontramos a la entrada de la ciudad.

Permitirme un inciso especialmente para los compañeros de hispanoamerica, que no conocen mi país. Os comento que Valencia es una de las ciudades mas grandes e importantes de España, capital de provincia del mismo nombre y capital de la Comunidad Valenciana, que agrupa las provincias de Valencia, Castellón y Alicante, ésta ultima es en la que yo resido. Habitan en la ciudad de Valencia alrededor de 800.000 personas y popularmente se le conoce como la Ciudad de la Luz.  Es una ciudad y una provincia muy bella, bañada por las aguas del mar Mediterráneo  que nos da ese algo especial. Son tópicos históricos de Valencia “la paella“, “las fallas“. Podéis buscar en la red si tenéis curiosidad y deseáis conocer algo mas sobre la ciudad.

Para acabar de redondear este apartado de la entrada,  me permití sacar una foto para compartirla con vosotros, desde la planta novena del mirador del Hotel Astoria Palace, que era el lugar en el que se celebraba el evento, en el mismo centro de la ciudad. Día soleado y no muy frío, con muy pocas nubes.

valencia

La agenda del evento

 Aunque la agenda oficial era ésta:

10:00  Presentación
10:10  Novedades en Delphi, C++Builder y RAD Studio.
10:40  Creando aplicaciones para Windows 8 con Metrópolis.
11:30  Pausa
11:50  Simplifica tu código con Visual LiveBindings.
12:40  HTML5 Builder, la nueva generación de aplicaciones móviles y web
13:30  Fast Report para FireMonkey
13:55  Preguntas y respuestas

sin embargo el desarrollo del mismo fue un tanto distinto a los que habitualmente hemos compartido con Danysoft, ya que el hilo conductor de la sesión fue el despliegue de una aplicación de muestra o demo, que dio sentido a los distintos apartados de la agenda. Precisamente por eso, felicité personalmente tanto a Luis Alfonso Rey como a José, y en general a la Empresa, ya que me pareció acertado el enfoque, muy didáctico y entretenido. Habitualmente, si recordáis presentaciones anteriores, tiempo atrás, cada apartado de la agenda presupone un tiempo de exposición de cada tema acompañado de las respectivas diapositivas de powerpoint, que visualmente ayudan a seguir el contenido. Y también habitualmente, a esa exposición le suele proseguir un ejemplo practico que a menudo está bastante desconectado de la realidad. Así podemos considerar los distintos bloques como compartimentos cerrados cuando en la realidad, el día a día nos demuestra que todo está interrelacionado y que los programadores ya no nos ceñimos a un esquema único de trabajo sino que vamos necesitando avanzar simultáneamente en múltiples tecnologías y se demanda de nosotros una capacidad de asumir proyectos cada vez mas complejos y heterogéneos.

Sin embargo, en esta ocasión, y quizás porque no era un evento ligado propiamente a la presentación del producto, que tienen un carácter comercial más marcado en cuanto a la exposición y por eso mas cercano al marketing, Luis Alfonso planteó que girase sobre el desarrollo de una hipotética aplicación que se había escrito en un único día y que nos permitiera ver o recorrer todo el contenido de la agenda. El mensaje creo que se entendió perfectamente por todos los que asistimos. Se trataba de demostrar de una forma práctica que nuestra herramienta era realmente productiva y para ello el peso de la demo era algo mayor que en ocasiones anteriores, sirviendo como excusa para hablar de los temas. Se que ese matiz es pequeño, pero yo he vivido el evento con mayor cercanía y atención que en ocasiones anteriores y me ha parecido mas entretenido y didáctico. Y al igual que yo, otros compañeros han compartido este pensamiento.

La primera hora (o quizás algo menos) fue dedicada a la presentación general del producto y del contexto en el que ha nacido: Los retos del desarrollo, que rezaban las primeras diapositivas, advirtiendo de la interacción de los sistemas Windows, la demanda creciente de las aplicaciones para Mac e iOs y la necesidad de nuestras empresas de estar presentes en la tecnología móvil, marcan el contexto.

La idea final, era que percibiéramos que esa imagen publicitaria de Embarcadero, donde se ve un programador que se desdobla para hacer múltiples trabajos simultáneamente  era algo real, algo al alcance de nuestra mano a través de las distintas herramientas que pone a nuestra mano la adquisición del entorno. Esta era la imagen que centra la campaña de Embarcadero.

productividad

Cosa distinta es que sepan (sepamos) conectar con  quienes reciben ese mensaje y hacerlo creíble y no una quimera. Más plataformas, más tiempo, más costes y más dificultad, son partes de ese cuadrante que marca el contexto en el que se desenvuelve nuestro trabajo. Y ante eso, no existe una solución mágica que no implique compromisos y cierta dosis de fe, de apostar por una opción con la certeza de que queda mucho camino por delante y etapas que todos debemos cumplir, incluyendo el propio Embarcadero.

Entre los retos que citaba Luis Alfonso estaban:

  • la futura migración a windows 8
  • seguir soportando numerosas versiones de windows en las empresas que demandan nuestros proyectos
  • la aparición en el mercado de tablets y aplicaciones táctiles
  • el aumento creciente de usuarios mac que esperan una respuesta nuestra
  • las futuras y presentes innovaciones que acompañan las plataformas que conocemos: alta definición, usabilidad e integración social
  • y finalmente, el amplio y complejo mundo de la tecnología móvil, que se abre ante nosotros como una oportunidad de negocio y de futuro.

Y tanto para él, como voz en ese momento del partner español de Embarcadero, como para muchas de las personas que formamos parte de la comunidad, bien como mvps o bien como responsables de foros y webs, confiamos en que Delphi, como herramienta, esté a la altura de esos retos.

Cualquier solución por la que optemos implica en cierto modo una renuncia a algo. No existe ni pienso que existirá la herramienta perfecta, ni la piedra filosofal que buscaban los alquimistas con ahínco.

SONY DSC

Vista de la sala durante la presentación.

 

¿Se puede contar todo con una única aplicación…?

Por supuesto que en cuatro horas no se puede ver un proyecto complejo, ni una aplicación se puede resolver en un solo día. :-D  Luis Alfonso hizo un esfuerzo por resumir al máximo y condensar el ámbito del modelo de negocio que describía de forma que pudiéramos recorrer todos los puntos de la agenda del evento. Una vez hubo presentado el contexto de nuestro trabajo, las condiciones actuales en las que desarrollamos nuestros proyectos y los problemas que encontramos, nos empezó a contar en que consistía la aplicación que iba a compartir con nosotros: sería un sobrio y  figurado aplicativo para un restaurante, capaz de gestionar las demandas gastronómicas de varios usuarios hambrientos reunidos en distintas mesas del negocio o local.

El ejemplo me pareció bastante acertado porque permitía ver muchos de los puntos que incluía la agenda de trabajo de un forma natural. En primer lugar nos hacia falta un servidor de datasnap que pudiera servir los datos y alimentar los distintos clientes que iban a consumirlos. Era un ejemplo, pero la vida real no es demasiado distinto. En mi opinión, nuestra tendencia natural desde delphi va a ir ligada en un futuro a crear servidores de datos que sean consumidos desde distintas plataformas y tecnologías y en ese sentido aunque el ejemplo era simplemente un ejemplo, es cierto que reflejaba esa necesidad de ampliar la conectividad de nuestras aplicaciones, algo que nos brinda de forma natural datasnap.

Vale… Soy consciente de que quedan cosas por arreglar pero, Datansap y la creación de estos servidores, nos abre una ventana hacia esa conectividad de una forma increíblemente sencilla, con la flexibilidad que aporta interactuar con estructuras de datos que son un estándar en la industria, como lo son el xml o json o bien cuando somos capaces de servir o responder a una petición web, algo que como sabéis  forma parte de nuestra capacidad y posibilidades.

restaurante

En el ejemplo del restaurante hay unas pocas tablas: la de los platos, las de las peticiones que van haciendo las mesas, etc… En la vida real hay muchas mas, lógicamente, pero podemos hacer un ejercicio de abstracción y extraer de él lo verdaderamente importante, que es el hecho de disponer y visualizar un origen de datos que posteriormente va a ser atacado de forma alternativa por distintas tecnologías.

Interesante…

El ejemplo que se compartió, y concretamente me refiero en este momento al servidor de datos de DataSnap, se abordó con una peculiaridad que le hizo distinto a otros ejemplos que hemos podido compartir desde la web de Embarcadero.  Habitualmente, y yo suelo hacerlo así diría que por costumbre, añadimos al TDSServerModule (o al TDataModule en esta ocasión) los correspondientes componentes de DBExpress asociados respectivamente a un proveedor de datos, un componente TDataSetProvider. Esto nos ayuda a que desde la parte cliente, nuestros TClientDataSet sean capaces de conectar y acceder al servicio de datos, delegando en ellos el flujo de la comunicación entre cliente y servidor.

Sin embargo, el enfoque que se ha dado en la demo es un tanto distinto ya que se ha prescindido del proveedor de datos y se han generado los métodos adecuados: en algunos casos retornando un dataset y en otros, por ejemplo, la imagen en un TStream, lo cual crea una dinámica distinta bastante interesante.

Por cierto, no perder de vista que en el lado cliente vamos a contar con el apoyo de la clase proxy que se genera automáticamente por el conector de datasnap. Gracias a eso, se facilita enormemente este tipo de estrategias.

Abajo vemos el código donde se devuelve los registros de los platos consumidos por un mesa del restaurante.

function TServerMethods1.ObtenerPlatosComanda(mesa: integer): TDataSet;
begin
  if (PlatosComanda.Active) then
    PlatosComanda.Close();
  PlatosComanda.DataSet.ParamByName('mesa').Value := mesa;
  PlatosComanda.Open();
  Result := PlatosComanda;
end;

De igual forma, se comparte la imagen de la comida (los platos). El método recibe como parámetro el identificador del plato, que por lógica es la clave primaria de la tabla y devuelve un TStream que es capaz de ser consumido tanto por ambos clientes (metro y aplicativo móvil).

function TServerMethods1.GetImagen(plato: integer): TStream;
var
  stream: TMemoryStream;
begin
  if (PlatosImagen.Active) then
    PlatosImagen.Close();
  PlatosImagen.DataSet.ParamByName('plato').Value := plato;
  PlatosImagen.Open();
  stream := TMemoryStream.Create();
  stream.WriteData(PlatosImagen.FieldByName('IMAGEN').AsBytes,
        Length(PlatosImagen.FieldByName('IMAGEN').AsBytes));
  Platos.Close();
  Result := stream;
end;

En cuanto a las aplicaciones clientes, dado que una parte central de la sesión iba a abordar Windows 8 y sus características  Luís Alfonso, optó por hacer un cliente con Rad Studio XE3 con estilo Metro. Eso formo parté de esa segunda hora, previa al café  donde pudimos compartir al tiempo que nos mostraba este cliente “metro”, y al hilo de los comentarios al mismo, el uso de las distintas plantillas Grid y Split y la integración LiveTile de WinRT, que se nos muestra como una característica nueva que deberemos asumir, conjuntamente a nuevos requerimientos que van a demandar estas aplicaciones y que las hacen distintas de las que ya conocemos.

Tras la pausa del café, la reunión prosiguió adaptando la aplicación metro del restaurante a livebindings, de forma que se acabaron enlazando los datos con los componentes de nuestro interfaz metro. Al hilo que iba haciendo todo esto, Luís Alfonso compartía el gran avance que ha supuesto contar en XE3 de un diseñador de relaciones para Livebindings, con todo lo que eso supone. Decía él, con mas gracia que yo, que existían ciertos genios o bichos raros en nuestro mundo, que solo los sacaban a pasear en contadas ocasiones y que eran capaces de parir soluciones complejas a nuestras demandas tecnológicas…  “-Queremos contar con una tecnología que nos permita conectar controles de una forma sencilla…” y ¡voila! se sacaron del sombrero en XE2, un motor de expresiones que haría palidecer al mas pintado.

Tan altamente flexible y complejo como poco usable por el programador humano:   :-D ese que al final compra el entorno de desarrollo y hace proyectos a nuestras empresas. Afortunadamente,se ha emprendido un camino sin retorno en vía a facilitar la usabilidad de los enlaces a datos y aunque quedan todavía algunos detalles por mejorar, la perspectiva de su amplio uso es esperanzadora y atractiva. Al mismo tiempo se volvieron a encerrar a los cerebritos para una próxima ocasión que lo merezca.

El diseñador de relaciones es intuitivo y se la he dotado de la posibilidad de manejar distintas capas, de forma que en proyectos amplios somos capaces de tener mejor visibilidad de estas relaciones y aislarlas en grupos arbitrarios. Así que vamos en ese sentido bien guiados.

Luego la sesión cambiaba de tercio. Habíamos visto ejecutar el cliente metro, conectándose a nuestro servidor de Datasnap (no se si referí anteriormente que atacaba a una base de datos de firebird) y ahora llegaba el momento de dar paso a la parte de HTML5 Builder, donde Luis Alfonso nos presentó la nueva versión de lo que fue RadPhp.

Si habéis conocido anteriormente este producto podéis convenir conmigo que los cambios han sido grandes y que desde aquel titubeante Dephi for PHP que conocíamos hace unos años hasta el actual HTML5 Builder media un abismo. Nada tiene que ver uno con el otro. Ni tan siquiera con el precedente RadPhp presentado en la versión de XE2. En cuanto apariencia, quiero decir… El trasfondo subyace y es un completo entorno en el que vamos a gestionar de una forma sencilla la edición del código php sino también todo lo que actualmente envuelve a los proyectos vinculados con html5 y css3.

Respecto al ejemplo que ocupaba la sesión, esa demo del restaurante, avanzaba para crear una aplicación que permitía gestionar las comandas o peticiones de las mesas del restaurante desde un dispositivo movil, gracias a que tenemos disponibles conectores a cualquiera de las distintas plataformas actuales, en diversas versiones de las mismas: iOs, Android, Blackberry o Simbian. Esta posibilidad os la ofrece el entorno y durante la próxima semana se va a celebrar un evento especifico sobre ésto, que si estáis interesados en este producto, no debéis perderos.

La sesión finalizó sin tiempo para las preguntas. Cuando nos dimos cuenta se había cubierto el horario y Luís recorria de forma rápida una de las noticias mas alentadoras y pienso que esperadas para muchos: la disponibilidad de FastReport para la plataforma de Firemonkey. Luis Alfonso, describió y relató la parte final de la demo y pudimos ver la nota de la consumición de la mesa en el diseño de FastReport para FMX, completandose el ciclo de ese aplicativo para un solo día.

 La sesión contada en unas cuantas diapositivas…

He seleccionado para vosotros algunas de las imagenes que me parecieron claves, entre las que se mostraron durante la exposición, agrupadas por la agenda del evento:

p10
Esta imagen abre la sesión y visualiza y resume de una forma gráfica y rápida las distintas plataformas y tecnologías que vamos a poder abordar desde nuestros proyectos. No se si estais de acuerdo pero añadiendo a todo esto que Mobile va a ser capaz de generar aplicaciones Android, el escenario es heterogeneo y a la vez altamente productivo por cuanto cubre buena parte de las demandas que van a requerir nuestros proyectos.

——————
METROPOLIS
——————

Metropolis
p12 p13 p15
p20 p21 vacio

Esto que veis lineas mas abajo, se corresponde con un fragmento que he extraído del cliente Metro que me ha parecido muy interesante.Dadle un vistazo, espsecialmente al procedimiento ToolbarAddButtonClick( ) y el evento de creación del formulario FormCreate(  )

procedure TForm1.ItemClick(sender: TObject);
begin
  ClientModule1.ServerMethods1Client.AgregarPlatoACommanda(
    Self.Mesa, TMetropolisUIListBoxItem(sender).Tag );
end;

procedure TForm1.ToolbarAddButtonClick(Sender: TObject);
var
  Form : TCommonCustomForm;
begin
  Form := Application.GetDeviceForm('Cobrar');
  if Assigned(Form) then
  begin
    TForm2( Form).Mesa :=  Mesa;
    Form.Show;
  end;
end;
procedure TForm1.ToolbarApplyButtonClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.ToolbarCloseButtonClick(Sender: TObject);
begin
  Application.Terminate;
end;

clientemetro

procedure TForm1.FormCreate(Sender: TObject);
var
 ds: TDataSet;
 item: TMetropolisUIListBoxItem;
begin
  ds := ClientModule1.ServerMethods1Client.GetPlatos();
  ds.Open;
  while not ds.Eof do
  begin
    item := TMetropolisUIListBoxItem.Create(self);
    item.Title := ds.FieldByName('PLATO').AsString;
    item.SubTitle := ds.FieldByName('PRECIO').AsString;
    item.Icon.LoadFromStream(ClientModule1.ServerMethods1Client.GetImagen(ds.FieldByName('COD').AsInteger ));
    item.Tag := ds.FieldByName('COD').AsInteger;
    item.Padding := TBounds.Create( TRectF.Create(5,5,5,5));
    item.OnClick := ItemClick;
    ListBox1.AddObject(item);
    ds.Next;
  end;
  ds.Close;
end;

En el evento de creación, podeis observar como es recorrido el dataset y se van creando los distintos items, enlazandose al evento

ItemClick;

que permite obtener los diferentes detalles asociados a cada mesa del restaurante.

Mas interesante es la llamada a

Application.GetDeviceForm('Cobrar');

que a algunos les habrá extrañado. Habrá que empezar a familiarizarnos con este prototipo de creación de los distintos formularios que enlaza precisamente con la creación de un servicio centralizado que va a recordar el patrón de creación y específicamente recordara al formulario que se va a crearse cual debe ser su tamaño, su orientación, etc… Al tiempo de ver estas lineas en el trascurso del evento se escuchaba un ligero murmullo que acompañaba la lectura de esta nueva invocación que no conocíamos.

Para entenderlo habría que considerar que se habían autocreado todos los formularios y eso era lo que causaba la extrañeza. Sin embargo, hay que poner la vista en el archivo de proyecto.

Application.Initialize;
Application.CreateForm(TGridViewForm, GridViewForm);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TClientModule1, ClientModule1);
Application.CreateForm(TForm2, Form2);
Application.RegisterFormFamily('Main', [TGridViewForm]);
Application.RegisterFormFamily('Productos', [TForm1]);
Application.RegisterFormFamily('Cobrar', [TForm2]);
Application.Run;

y finalmente acudir a las lineas de la unidad FMX.Forms. En ellas podéis ver que es lo que pasa entre bastidores.

function TApplication.GetDeviceForm(FormFamily: string) : TCommonCustomForm;
begin
  Result := GetDeviceForm(FormFamily, FFormFactor);
end;

function TApplication.GetDeviceForm(FormFamily: string; FormFactor : TFormFactor): TCommonCustomForm;
var
  RegItem: TFormRegistryItem;
begin
  Result := nil;
  RegItem := GetFormRegistryItem(FormFamily, FormFactor);
  if RegItem <> nil then
  begin
    if RegItem.Instance = nil then
    begin
      try
        RegItem.Instance := TComponent(RegItem.InstanceClass.NewInstance);
        RegItem.Instance.Create(Self);
        TComponent(RegItem.Reference^) := RegItem.Instance;
        Result := TCommonCustomForm(RegItem.Instance);
      except
        RegItem.Instance := nil;
        raise;
      end;
    end
    else
      Result := TCommonCustomForm(RegItem.Instance);
  end;
end;

Está claro que el registro de las clases va a aportar información y un entramado que va a ser capaz de, a través precisamente de ese registro previo y de la creación de un factor de forma (o disposición), representado en TFormFactor referenciar una nueva instancia de la clase o enlazar a la instancia si ya existía.

——————
LIVEBINDINGS
——————

 Livebindings
p27 p28 p29
Ya he hecho referencia en el cuerpo de la entrada a livegindings, resaltando una de las aportaciones mas significativas que nos trae esta versión: el diseñador de relaciones. No obstante, tambien es significativo que podamos disponer de nuevos wizard que nos ayuden a crearlas, sobretodo si nos iniciamos en firemonkey y no conocemos la plataforma. La tercera imagen nos muestra nuevos componentes y se nombra algo que nos puede pasar inadvertido pero que puede ser de mucha utilidad, como se vió en el seminario. Hablo de TPrototypeBindSource que te va a facilitar el prototipado de tu aplicación (te permite diseñar los campos y crear enlaces en tiempo de diseño sin tener que depender de los campos persistentes del clientdataset). En el ejemplo de la demo se pudo ver perfectamente como se preparaba este prototipo para preparar el informa, que luego seria redirigido hacia la fuente real de datos.

——————
ACCIONES
——————

 Acciones
p34 vacio vacio
 RadStudio XE3 va poniendose al día en el ámbito de la plataforma Firemonkey, respecto a nuestra querida y amiga durante años VCL. Las acciones era algo que tenia que llegar. También Luis Alfonso dedico unos minutos para nombrar este nuevo avance que se esperaba. Y al igual que sucede con la VCL, tambien  desde FMX disponemos de acciones predefinidas, cuyo numero irá creciendo en cada versión.Esta ha sido una de las novedades que especialmente me gustaron dado que uso intesivamente las acciones en mis proyectos.

——————
HTML5 BUILDER
——————

HTML Builder
p38 p39 p40
Creo que es resaltable el esfuerzo que ha hecho Embarcadero para que este producto haya dado un salto cualitativo y tenga una entidad y peso en el conjunto de RadStudio. En mi opinión queda mucho trabajo por hacer desde las barricadas de la empresa, dando a conocerlo de una forma mas efectiva que hasta ahora. No es suficiente con el cambio de imagen sino que lo acompañe una comunidad creciente de desarrolladores que de esa confianza a quienes se acerquen al producto. Delphi lleva muchos años peleando en esas trincheras de la tecnologia. HTMLBuilder es todavia un producto poco conocido en nuestra comunidad incluso por quienes llevamos tiempo en ella.Proximamente teneis una buena oportunidad para conocerlo de cerca en el seminario presencial que Danysoft va a organizar:Aplicaciones de negocio para dispositivos móviles (13 de Diciembre de 2012 en Madrid)

——————
FAST REPORT
——————

 FastReport
p54 p57 p59
p61 p63 vacio
Os he incluido estas imágenes comparativas, donde podéis enfrentar las funcionalidades de la versión del generador de informes FastReport para FMX. No todas las características están  disponibles dependiendo también de la versión.

Recursos relacionados

Seminario 4 horas con Rad Studio XE3 (7 de Noviembre de 2012)

Vídeo del evento del 7 de Noviembre:

https://danysoft.adobeconnect.com/_a1008869521/p528skzd35v/?launcher=false&fcsContent=true&pbMode=normal

Mi consejo es si no habéis podido asistir a estos seminarios del tour, al menos lo podáis visionar el anterior que por lógica comparte gran parte del contenido que hemos visto.

Y para finalizar: lo que ofrece Danysoft

Para aquellos que andan con dudas acerca de actualizar o no actualizar y puedan tener interés en conocer el valor añadido que ofrece el partner español, os relato brevemente los puntos que incluyen su oferta hasta final de año.

  • Podéis actualizar desde cualquier versión a un precio de actualización. Supuestamente esto supone un ahorro del 35% sobre el precio oficial.
  • Obtenéis HTML5 Builder sin costo adicional.
  • Obtenéis el bonus pack de Embarcadero sin coste adicional: TMS Grid para Firemonkey, conversor MIDA de VCL a FMX y el pack de estilos.
  • Posibilidad de adquirir la edición Ultimate en lugar de la Enterprise.
  • Obtenéis el bonus pack de Danysoft: con asistencia o seguimiento on line del curso “desarrollo de aplicaciones heterogeneas”, la edición del libro de F. Charte “La Guía de Delphi” y un bono descuento en formación y utilidades adquiridas conjuntamente con XE3.
  • y finalmente se ofrecía a los asistentes al evento un dto adicional de un 5%(valido hasta el 10-Dic), que imagino que aunque no hayais podido asistir de alguna forma os puedan compensar.

Es un buen momento para valorar si dais ahora el salto o no. Quizás la clave que os ayude a decidiros sea conocer el estado de la próxima versión Mobile de la que desgraciadamente no se puede asegurar demasiado ya que solo existen algunas conjeturas. Haced números en función de vuestros proyectos y consultad a vuestro partner para tener información ampliada en estos puntos.

Conclusión

Espero que os haya gustado este resumen del evento, similar a los que hemos compartido años anteriores. He intentado que visualizarais lo que a mi me pareció más reseñable y no dudo que habré dejado muchos matices en el tintero.

Si tenéis alguna foto del evento os recuerdo que la podéis compartir en el grupo de facebook para que quede recuerdo de la cita.

Me despido de vosotros hasta la siguiente entrada.

Que tengáis una buena semana y sed felices.

2 comentarios en “XE3 Iberian Tour: Ultima parada Valencia

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s