04/14/18

Lo nuevo de Intraweb

IDE: por determinar

IntraWeb 14 y 16 admiten de nuevo a Delphi / C ++ 2009. Actualmente eso significa 13 compiladores Delphi . Agregue en C ++ y dobla a 26. Esto realmente complica el proceso de compilación y complica los problemas de soporte, ya que algunos son específicos del compilador.

Las versiones más recientes de IntraWeb contienen telemetría voluntaria que informará a través de una llamada HTTP información anónima básica sobre su instalación IntraWeb y otros datos relevantes. Todos los datos serán informados de forma anónima y no contendrán ninguna información privada o personal identificable. Algunos ejemplos de algunos datos informados serán la versión IntraWeb, la versión IDE y una identificación anónima utilizada para evitar que las entradas duplicadas en nuestros registros aparezcan como instalaciones múltiples. Esto se está implementando como parte de la verificación de actualización de versión que ya existe en el paquete IDE de IntraWeb.

El uso de estos datos nos permitirá conocer mejor cuántos usuarios utilizan cada una de las distintas versiones Delphi / C ++ y decidir qué versiones IDE admitirá IntraWeb 17.

Navegador: en flujo

IntraWeb 17 está dando un salto enorme y necesita contar con las últimas funciones disponibles en los navegadores modernos. El soporte final del navegador debe determinarse y también dependerá del marco de tiempo de la versión final y del rendimiento de cada navegador frente a las características avanzadas necesarias.

IntraWeb 17 tendrá páginas de modo dual (ver más abajo para más información). Para los formularios / páginas de tipo antiguo que existen actualmente en IntraWeb 16 y anteriores, los requisitos del navegador serán más flexibles.

El modo más probable es que sea compatible con navegadores más antiguos, incluido Internet Explorer; sin embargo, es probable que IWML solo sea compatible con:

  • Chrome: 43 o posiblemente más.
  • Firefox: 45 o posiblemente más alto.
  • Internet Explorer: no compatible: IE es un producto inactivo y está siendo reemplazado por Edge.
  • Edge: 13, pero más probablemente 15 porque Edge aún está bastante en flujo.
  • Navegadores Mac: Por determinar
  • Móvil: Por determinar, pero puede requerir Mobile Chrome, Mobile Firefox u otro.

Metas

Big Bang

Simplemente poner IntraWeb a la delantera en el desarrollo web y proporcionar productividad web y funciones que no están disponibles en ningún otro marco en ningún lenguaje o plataforma de desarrollo.

IntraWeb tiene características como umPartial y otras características muchos años antes de que AJAX y otras características aparecieran en la corriente principal. IntraWeb 17 estará aún más adelante en comparación.

Altamente Compatible

IntraWeb 17 va a requerir cambios significativos, sin embargo, entendemos la importancia de permitir que el código existente funcione con cambios mínimos. En las áreas centrales, los cambios de ruptura serán evaluados por el tiempo requerido para portar proyectos existentes.

IntraWeb 17 contiene un nuevo tipo de página (denominado página 17 por ahora). Los viejos tipos de página (Página16) seguirán siendo compatibles permitiendo que el formulario existente se use tal cual.

Desarrollo Paralelo

IntraWeb 16 e IntraWeb 17 se están desarrollando en paralelo.

Caracteristicas

IntraWeb 17 actualmente contiene muchas funciones nuevas. A medida que avanza el desarrollo, algunas características pueden liberarse por etapas (es decir, 17.1, 17.2, etc.) o pueden enviarse a futuras versiones de IntraWeb como IntraWeb 18.

IWML (lenguaje de marcado intra-web)

IWML es la característica principal de IntraWeb 17 y traerá características que antes no estaban disponibles para las aplicaciones web. Aprende más

Administrador del servidor

Server Manager es un nuevo componente opcional que funcionará con todos los modos de implementación (ISAPI, Apache, etc.) que permitirá:

Gestión de aplicaciones

  • Carga y descarga dinámica de aplicaciones
  • Recopilación y visualización de estadísticas sobre usuarios y aplicaciones, como la lista de sesiones, la memoria utilizada, etc.
  • Actualizaciones en vivo: permite que los usuarios antiguos permanezcan en una instancia anterior mientras que los usuarios nuevos se ejecutan en una versión actualizada de la aplicación. Cuando todos los usuarios en la instancia anterior se desconectan, la instancia anterior se desactiva.
  • Posibilidad de deshabilitar aplicaciones y proporcionar a los usuarios un mensaje.

Gestión de usuarios

  • Posibilidad de enviar mensajes de administrador
  • Visualización de usuarios y tiempos de sesión
  • Posibilidad de cerrar contundentemente las sesiones individuales o de todos los usuarios

BELLOTA

A tozed C ompact O bject N otation Reliable

IWML usa ACORN. ACORN es una especificación ampliable diseñada para permitir flexibilidad, compacidad, facilidad de lectura, facilidad de análisis y facilidad de transmisión. ACORN fue diseñado después de haber sido decepcionado por el chattiness extrema y el shiftiness (uso frecuente de las pulsaciones de teclas desplazadas) de XML, y las severas limitaciones y menor (en comparación con XML) pero todavía presente chattiness y shiftiness de JSON.

ACORN es una especificación delimitada EOL que hace que el análisis sea mucho más fácil.

Tenemos la intención de documentar y abrir ACORN para uso gratuito de cualquier persona.

IWCL

IWCL se refiere a la Biblioteca de componentes de IntraWeb. IWCL no es los componentes de Delphi IntraWeb, sino la biblioteca JavaScript de IntraWeb que se ejecuta en el navegador. En IntraWeb 17, el JavaScript IWCL existente permanece para garantizar la compatibilidad, pero IWML utiliza un IWCL más nuevo basado en TypeScript.

Diálogos

Los diálogos de JavaScript son muy limitados y bloquean otras pestañas. Los diálogos existentes basados ​​en DOM son mejores pero aún tienen limitaciones y efectos secundarios. IntraWeb 17 tendrá un marco de diálogo unificado personalizado para superar estas limitaciones y problemas.

Biblioteca unificada

Actualmente, cada tipo de implementación tiene un tipo de proyecto único. ISAPI es un tipo de proyecto, SA otro, y así sucesivamente. Los archivos de origen se pueden compartir, pero esto crea problemas de mantenimiento adicionales. Como parte de los cambios necesarios para Server Manager, existirá un nuevo tipo de proyecto universal que luego se cargará dinámicamente por shims para ISAPI, Apache, ASP.NET (de hecho, ASP.NET para IntraWeb ya es una cuña que carga una biblioteca IntraWeb) que puede cargar la biblioteca universal. StandAlone no necesitará una calza, pero también cargará este tipo de biblioteca universal.

Esto agregará un archivo más que se requiere durante la implementación, pero este es un inconveniente menor que vale los beneficios que traerá.

Receptivo – Teléfono móvil, tableta, escritorio

Los nuevos diseños de IWML proporcionan un diseño receptivo como parte de su naturaleza y permiten que las páginas se ajusten con facilidad, desde pequeñas pantallas de teléfono hasta grandes pantallas de escritorio.

Modal

A través de fibras o hilos estancados.

Inferencia de TypeScript

Delphi automatizado limitado a la traducción de TypeScript.

Integración de WordPress

Esta característica aún está bajo investigación, pero las características probables son:

  • Posibilidad de servir códigos cortos a páginas de WordPress
  • Posibilidad de publicar páginas enteras en WordPress
  • Inicio de sesión e integración de usuario
  • Capacidad de recuperar contenido de WordPress y mostrarlo en una página IntraWeb

Integración de Facebook

Posibilidad de publicar en Facebook, usar el inicio de sesión en Facebook, etc.

WebSockets

IWML permite una modificación mucho más fácil del DOM (página web en el navegador) lo que hace que sea más fácil realizar actualizaciones en vivo mucho más allá de lo que AJAX puede hacer. La segunda parte del problema es la latencia que el usuario final percibe como demora o lentitud.

AJAX y otros métodos de comunicación necesitan pasar por HTTP. Sin embargo, HTTP utiliza conexiones de corta duración, por lo tanto, usarlo como un canal de comunicación en vivo no es viable. AJAX envía solicitudes y espera respuestas, pero si el servidor quiere presionar algo, tiene que esperar a que el cliente se registre. Cada una de estas solicitudes establece una nueva conexión que incluso en una conexión rápida puede tomar una fracción de segundo: suficiente para que el usuario note retraso en las respuestas. La gran carga en un servidor también puede ralentizar los tiempos de respuesta de la conexión debido a la simple sobrecarga de lidiar con tantas solicitudes de conexión que no se pueden almacenar en caché.

WebSockets es un protocolo que permite conexiones TCP persistentes a través de HTTP. Los WebSockets han existido por un tiempo, pero el uso se ha visto obstaculizado por diversos grados de soporte en navegadores, pero lo más importante es que proxies antiguos o mal configurados en el proveedor de servicios de Internet o en el nivel corporativo, desactivan efectivamente WebSockets para muchos usuarios.

A partir de 2017, sin embargo, la situación de WebSockets ha mejorado mucho y se espera que continúe aumentando el soporte. El soporte de WebSockets puede ser una característica opcional de IWML, pero cuando se usa permitirá tiempos muy receptivos para los mensajes del navegador al servidor y también permitirá que el servidor se comunique con el navegador sin necesidad de esperar a que el navegador inicie la comunicación.

Este tipo de canal de comunicación de baja demora permite eventos de mayor velocidad, como eventos de pulsación de tecla, que se pueden usar para procesar la entrada de teclado en vivo desde el navegador directamente en el servidor. También permite el seguimiento del movimiento del mouse. Estos son solo dos ejemplos simples.

Esto permite a IntraWeb producir aplicaciones que actúan casi como una aplicación de escritorio, pero sin los riesgos de seguridad, sin instalación y sin el retraso de una sesión de escritorio remota. El ancho de banda utilizado es muy mínimo porque, a diferencia de las sesiones de escritorio remoto, los metadatos en bruto se envían en lugar de rasparse en pedazos y enviar junto con las imágenes como lo deben hacer las soluciones de escritorio remoto.