Archivo

Archivo para la categoría ‘Delphi’

Test Unitarios; Framework DUnitX (Entrega 4)

martes, 15 de mayo de 2018 Sin comentarios
Share Button

Completamos con esta entrada la serie sobre test unitarios, centrándonos en el Framework DUnitX, que es el que actualmente embarcadero recomienda y se incluye en las últimas versiones de Delphi.

INTRODUCCION

Como ya he comentado en las entradas anteriores, DUnitX es una evolución de DUnit (y que además recoge ideas de otros paquetes similares como NUnit). Si no lo tenéis en la versión actual de Delphi con la que estáis trabajando, podéis descargarlo desde el repositorio de Github, y deberíais poder instalarlo sin problemas. DUnitX soporta versiones de Delphi 2010 y posteriores.

A continuación os adjunto una tabla con las diferencias más significativas en cuanto a características que DUnitX nos aporta frente a DUnit. (click sobre ella para verla ampliada).

Leer más…

Share Button
Categories: Delphi, TDD, Test Tags: , , ,

Convertir Test de DUnit a DUnitX (Entrega 3)

lunes, 30 de abril de 2018 Sin comentarios
Share Button

Con este artículo pensaba completar esta serie referente a pruebas unitarias y a los Frameworks más utilizados en Delphi para realizarlas, pero el tema de conversión y migración de test entre DUnit y DUnitX se ha alargado más de lo esperado, así que para no generar una entrada muy larga y mezclar temas he decidido “partirla” en dos”.

De esta forma dejo para la siguiente el Framework DUnitX en profundidad y en esta me he centrado en explicaros cómo migrar los test existentes que tengamos desarrollados en DUnit.

En las últimas versiones de Delphi, DUnitX es el framework que se recomienda usar desde Embarcadero. Veremos que es más flexible y parametrizable que DUnit, aunque si hemos trabajado con DUnit, DUnitX nos será muy familiar en su mayoría de aspectos (es una evolución de DUnit, NUnit y algunos otros…).

Si ya hemos trabajado con DUnit antes que con DUnitX (como hemos hecho en las entradas del blog) podemos “migrar” nuestros test de forma sencilla, ya que existen determinadas Units ya creadas para adaptar nuestros test existentes.

Leer más…

Share Button
Categories: Delphi, OOP, TDD, Test Tags: , , , ,

Test Unitarios; Framework DUnit (Entrega 2)

jueves, 1 de febrero de 2018 2 comentarios
Share Button

Esta es la segunda entrada de la serie dedicada a pruebas unitarias. Si en la primera vimos una introducción a la programación guiada por pruebas, en esta segunda vamos a empezar a revisar los frameworks disponibles que nos ayudan a realizar los test unitarios.

Concretamente en esta nos centraremos en DUnit.

Para realizar Test unitarios con Delphi disponemos de dos frameworks; Según la versión de Delphi podemos utilizarlos indistintamente, aunque a partir de la versión XE8 de Delphi, se recomienda utilizar DUnitX.

CREACIÓN DE PRUEBAS UNITARIAS (FRAMEWORKS)

Para realizar test unitarios con Delphi podemos utilizar los frameworks (ambos Open Source) DUnit y DUnitX.

A partir de la versión Delphi XE8 Embarcadero recomienda utilizar DUnitX, ya que DUnit ha quedado desactualizado. Si se ha trabajado con DUnit es relativamente fácil migrar los test ya existentes a DUnitX.

Lo que vamos a hacer es realizar los test con ambos paquetes y de esta forma también podremos ver las diferencias entre ambos y las ventajas prácticas que nos pueden aportar.

FRAMEWORK DUNIT

Para crear nuestro proyecto de pruebas unitarias que testee la clase TAritmeticaBasica de nuestra unit UClass.TAritmeticaBasica, podemos utilizar el asistente que ya trae el paquete. Si en nuestra versión de delphi no está instalado este paquete (DUnit), hay que descargarlo (de la dirección que hay más arriba) e instalarlo.

  1. Lo primero es crear un proyecto que utilice nuestra Unit. Sería nuestra aplicación que va a utilizar esta unit. Para ello crearemos un nuevo proyecto llamado PAritmeticaBasica y le añadiremos la unit anterior.
  2. A continuación vamos a generar, utilizando el asistente, el proyecto para las pruebas unitarias (y lo añadiremos al mismo grupo de proyectos). De esta forma tendremos nuestro proyecto y junto a el el proyecto de pruebas.

 

Leer más…

Share Button
Categories: Código, Delphi, Test Tags: , ,

Ya disponible RAD Studio 10.2 Tokio Release 2 (10.2.2)

jueves, 14 de diciembre de 2017 2 comentarios
Share Button

Ya está disponible desde hace un par de días, la última release de RAD Studio. El nombre oficial es 10.2 Tokyo – Release 2 (o abreviado como 10.2.2).

Imagen_fondo

A continuación os pongo una lista de algunas novedades que podemos encontrar en esta release:

  • FireMonkey Quick Edit
    Cambios visuales para ayudar al desarrollador en el diseño de formularios.
  • New VCL Controls

    Controles nuevos para VCL. Un “Card Panel” y un “Stack Panel” y controles de selección de Fecha y Hora. Los 2 primeros mejoran la organización de controles y los 2 segundos aportan estilos más modernos a a estos dos clásicos de edición.

     

    VCL_controls

  • Updated IDE Look & Feel
    Nuevo tema para el IDE, nuevos colores y nuevos iconos para actualizar y mejorar la visualización. Podemos seleccionar directamente desde la barra de opciones del IDE un tema claro/oscuro y acceder a la personalización.
    También se ha modificado el layout por defecto al entrar en el IDE.

Leer más…

Share Button

Coderage XII (7-9 de Noviembre)

viernes, 3 de noviembre de 2017 Sin comentarios
Share Button

La próxima semana se celebra el Coderage 12 de la mano de Embarcadero. Multitud de conferencias gratuitas y online sobre Delphi, C++ Builder y programación en general. Más de 70 sesiones y casi 60 ponentes para abarcar multitud de temas.

CodeRage_12

Aquí tenéis la lista completa de sesiones:

https://community.embarcadero.com/article/16578-coderage

Y aquí el link de registro:

https://register.gotowebinar.com/register/7990350396754529539

Share Button

Test Unitarios; Introducción (Entrega 1)

martes, 24 de octubre de 2017 3 comentarios
Share Button

Este artículo forma parte de una serie que cuenta con varios otros alrededor del mismo tema. A continuación os adjunto los links de todas ellas (que iré completando a medida que salgan):

¿Qué es un test unitario?

UnitTesting1El objetivo más a corto plazo de un test unitario (o prueba unitaria) es el de probar una porción de nuestro código, de forma que podamos comprobar que funciona correctamente y que se ejecuta con el comportamiento para el que fue diseñado. Por lo tanto nos ayuda a encontrar fallos en nuestro código.
Podríamos decir que un objetivo más amplio de los test unitarios es, en general, mejorar la calidad del software que desarrollamos. Por un mejor diseño y por un menor número de errores.

Hay quien dice que los test unitarios están pensados para equipos de trabajo donde hay roles definidos. Personalmente considero que hoy en día los test unitarios para un programador, son como el “control de versiones” o los “repositorios de código”. Para mi NO SON EXCLUSIVOS de equipos de trabajo, sino que un programador a nivel personal (individual) DEBE trabajar con ellos, aunque no esté integrado en un equipo.

Leer más…

Share Button

“Programación Delphi para Principiantes”; eBook en Español

lunes, 21 de agosto de 2017 6 comentarios
Share Button

Durante este mes de Agosto se ha publicado en la web de Embarcadero la traducción al Español del libro “Programación Delphi para Principiantes” que durante unos meses hemos estado traduciendo algunos de los MVP de Embarcadero de habla hispana.

Portada del libro

Es un libro, tal como su título explica, está destinado a personas que se inician en la programación con Delphi; La idea es que esté accesible de forma gratuita para profesores y estudiantes que formen parte del “Programa Académico Embarcadero”.

Un esfuerzo y un tiempo dedicado, que los que hemos participado en este proyecto esperamos que sea útil para los que se inician en este entorno y que redunde en beneficio de la Comunidad de habla hispana.

Os adjunto la imagen del índice:

Contenido del libro

Un saludo y hasta la próxima.

Share Button
Categories: Delphi, Embarcadero, Otros Tags: , ,

Multi-Threading for TBitmap, TCanvas, and TContext3D

viernes, 7 de abril de 2017 8 comentarios
Share Button

Mucho se ha hablado de las características de Tokyo en cuanto al soporte de nuevas plataformas. Está claro que la irrupción de Linux entre las plataformas destino de nuestras aplicaciones, es el gran atractivo de esta nueva versión. Otros compañeros de la comunidad han hablado del tema y han publicado vídeos al respecto.

En mi caso voy a hablar de otra de las novedades de la versión Tokyo. Se trata del soporte de multithread para las clases TBitmap, TCanvas y TContext3D en Firemonkey para poder trabajar con un único elemento desde diferentes threads.

Tal y como se explica en el enlace de la wiki, internamente las clases realizan la sincronización de forma automátca, así que aunque no ganemos en rendimiento, si podemos ganar en organización y en claridad a la hora de escribir nuestro código y clases. Imaginad que tenemos que dibujar diferentes objetos o elementos en un TCanvas. Ahora podamos organizar el trabajo en diferentes clases (Threads) que se encarguen de dibujar cada uno de ellos. De otra forma tendríamos que tener un único código o clase donde se dibujaran todos ellos (por lo tanto menos estructurado y organizado).

Leer más…

Share Button

Lanzamiento de RAD Studio 10.2–Tokio

miércoles, 22 de marzo de 2017 Sin comentarios
Share Button

Si habéis estado atentos a las redes últimamente y/o a la comunidad de Embarcadero seguro que ya os suena el nombre de "Tokio". Este es con el que conocemos a la nueva versión de RAD Studio 10.2 que está a punto de salir.

descargaAl igual que lo que pasó con versiones anteriores cuando se añadió FMX o el soporte para Android, esta versión trae una característica especial que sobresale sobre el resto. La inclusión de Linux como nueva plataforma "target" para las aplicaciones.

Decir que esta nueva característica no está enfocada a realizar aplicaciones gráficas (es lo primero que pregunta gente en el blog y en los foros) sino que está dirigida al desarrollo de aplicaciones servidor. Independientemente de si esta primera versión trae más características o menos, en mi opinión es que nos abre las puertas a poder desarrollar nuevas soluciones de cara a un futuro.

Por ahora el soporte incluye Ubuntu LTS Version 16.04 and RedHat Enterprise Version 7.

He dicho que esta es la característica más llamativa, pero no la única.

Se incluyen otras mejoras relacionadas con soporte para Android en Jelly Bean (4.1, 4.2, 4.3), Kit Kat (4.4), Lollipop (5.x), Marshmallow (6.x) and Nougat (7.x).
Mejoras en los componentes para VCL (32 y 64 bits).
Mejor soporte en multi-threading para TBitmap, TCanvas y TContext3D.
Mejoras en el soporte para AppTethering para VCL y FMX.
Mejoras referentes a High-DPI y soporte para monitores 4K.

El Webminar de Lanzamiento es el 27 de Marzo y podéis revisar más información e inscribiros en el siguiente enlace.

Official Launch Webinar for RAD Studio 10.2 Tokyo

 

Tokyo-Release-Webinar

 

Las varias horas para la presentación; El horario aquí en España es el siguiente:

  • Mon, Mar 27, 2017 3:00 PM – 4:00 PM CEST
  • Mon, Mar 27, 2017 8:00 PM – 9:00 PM CEST
  • Tue, Mar 28, 2017 1:00 AM – 2:00 AM CEST

Un saludo y hasta la próxima

Share Button
Categories: Delphi, Tokio Tags: , ,

#FunWithDelphi: La foto del día

martes, 31 de enero de 2017 2 comentarios
Share Button

NASA_DelphiBueno, pues ya está publicada la mía!! Y si todavía no os habéis animado os animo a que lo hagáis.

Desde hace unos días está en marcha la competición #FunWithDelphi que ha promovido Embarcadero y que se basa en la API de la NASA.

La descripción completa de la competición la tenéis en estos links; Esta entrada de Marco Cantú, y esta otra donde se explican algunos detalles más técnicos.

Y las reglas y los pasos prácticos a seguir, en este otro enlace:
https://community.embarcadero.com/competitions/14-fun-with-delphi-nasa-api-mash-up

Al final de la página también tenéis la lista de las publicadas hasta ahora, con las opciones para acceder a ellas y votar.

Básicamente, se trata de hacer una aplicación que utilice la API de la NASA y que muestre características de las últimas versiones de RAD Studio. Cualquier plataforma disponible y con el único límite de la imaginación.

Os muestro un vídeo de la mía en funcionamiento (Windows + Android)

Link al video (https://www.youtube.com/watch?v=CBqpnR6hwlo)

Y os dejo algunas imágenes:

Se puede descargar el binario para windows desde el repositorio de github. El código completo de la aplicación lo publicaré en el blog y en el repositorio, una vez que acabe la competición

Sólo me queda esperar que os guste y si es así que la votéis.

Un saludo.

Share Button