Autor: Nicolas Brachfogel

Nicolas Brachfogel
• Proprietário do produto e Desenvolvedor Senior -Nicolas Brachfogel entrou a 4D em 2017 como Senior Developer (4D Server e Networking). Como Product Owner para gerenciar o lançamento de Apple Silicon, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais, além de garantir que as implementações de funcionalidade cumpram com as necessidades do cliente. Diplomado pelo Instituto Superior de Informática Aplicada (INSIA), Nicolas começou sua carreira como desenvolvedor de software em 2001. Depois de vários anos codificando em Java e C++, passou a especializar-se no desenvolvimento cliente-servidor para empresas de videogames. Como desenvolvedor/arquiteto de servidores, trabalhou com sucesso nas arquiteturas de servidores de muitos jogos (Dofus Arena, Drakerz, Trivial Pursuit Go!)
Produto blank

Build de aplicações de avaliação

Em versões anteriores de 4D, os desenvolvedores podiam pedir licenças de avaliação para propósitos de desenvolvimento, mas fornecer aos usuários finais versões de avaliação de aplicações construídas – seja standalone ou cliente/servidor – era um desafio ou até mesmo impossível.

Começando com 4D 20.7 e 20 R8, agora pode criar versões de avaliação de suas aplicações. Quando um usuário executar uma aplicação de avaliação pela primeira vez em uma nova máquina, vai automaticamente contactar um serviço 4D para obter uma licença de avaliação de 14 dias – sem qualquer ação manual requerida do usuário.

Esse post de blog vai guiá-lo através do processo de criação de uma versão de avaliação de sua aplicação para propósitos de demonstração.

Produto blank

Nova classe para efetuar ligações TCP

Com o lançamento de 4D 20 R8, uma caraterística que muda o jogo chegou:: a classe TCPConnection. Essa classe moderna aproveita a sintaxe orientada a objetos e suporta o manuseio de conexão de rede assíncrona, oferecendo uma alternativa nova e poderosa aos Comandos de Internet 4D. Usando TCPConnection, pode conectar-se virtualmente a qualquer coisa – quer sejam servidores, impressoras, caixas registadoras ou dispositivos industriais – tornando-a uma ferramenta versátil para lidar com requisitos de rede únicos.

Nesta versão, a funcionalidade de cliente TCP está disponível, permitindo-lhe ligar-se a servidores externos e trocar dados sem problemas.

Produto blank

Notarização no macOS: alterações à estrutura de componentes

O processo de notarização macOS continua a evoluir. Infelizmente, a estrutura interna dos componentes 4D desenhados com 4D v11-intencionado para permitir compatibilidade entre plataformas-não mais cumpre com os requerimentos introduzidos pela Apple para Macs baseados em Silicon, fazendo com que notarizar componentes seja cada vez mais desafiador.

Para simplificar o processo de implementação, atualizamos a estrutura de componentes começando com 4D 20 R8. Essa nova estrutura de pastas faz com que a notarização e a implementação sejam tão simples quanto a implementação de uma aplicação. No entanto, há uma advertência importante: a estrutura atualizada não é compatível com versões mais antigas de 4D (por exemplo, 4D 20 R7 e anteriores), enquanto componentes mais antigos permanecerão compatíveis com versões mais recentes de 4D.

O componente Build4D também foi atualizado para refletir a nova estrutura. Ao construir componentes, seja cauteloso e assegure-se de que está a usar a versão correta de Build4D.

Lembrete importante: Componentes construídos com 4D 20 R7 ou anterior podem encontrar erros durante a notarização. A solução recomendada é atualizar para 4D 20 R8.

Produto blank

Encriptação. Autenticação e validação da autoridade de certificação

Em versões recentes, as capacidades de segurança de 4D foram significativamente expandidas, particularmente na área de certificados. Isso inclui certificados gerados automaticamente para comunicação cliente-servidor, suporte para certificados ECDSA, e, com 4D 20 R7, a validação de autoridade de certificado para comunicação cliente-servidor de aplicações engined. Alguns clientes requerem o mais alto nível de segurança, destacando a importância dessas caraterísticas.

No entanto, a segurança pode ser complexa, e tem havido pedidos para uma explicação de como uma conexão TLS/SSL funciona e o papel dos certificados. Por conseguinte, antes de nos aprofundarmos nas novas funcionalidades, é útil analisar primeiro os conceitos básicos de segurança e as suas interações.

Produto blank

Introdução aos Singletons de Sessão

Singletons têm sido uma das caraterísticas de destaque de 4D 20 R5. Anteriormente, os desenvolvedores podiam aproveitar dois tipos de singletons:

  • o singleton de processo, que é único para cada processo mas diferente entre processos,
  • e o singleton partilhado, que é único em toda a aplicação.

Com 4D 20 R7, estamos lançando um novo tipo de singleton: o singleton de sessão!

Produto blank

QUIC Network Layer está pronto para a produção!

Tradução automática de Deepl

Com a versão beta de 4D 20, apresentámos-lhe a nossa nova camada de rede: A camada de rede QUIC.

Naquela época, ainda estava em desenvolvimento e assim foi removido do lançamento oficial. Hoje, estamos felizes em anunciar que a camada de rede QUIC saiu da versão beta e está oficialmente pronta para produção!

Após rigorosos testes de carga e valioso feedback dos primeiros usuários, a estabilidade e o desempenho do QUIC foram validados – superandoaté mesmo o ServerNet em áreas-chave. Agora que QUIC alcançou a paridade de caraterísticas com ServerNet em 4D 20 R5, é o momento perfeito para considerar fazer a mudança.

Mas primeiro, deixe-me contar mais sobre estas grandes notícias.

Produto blank

Suporte REST e Qodly de Singletons

Com 4D 20 R5, lançamos singletons. E com 4D 20 R6, agora permitimos que chame diretamente as funções expostas de seus singletons compartilhados através de chamadas REST. Da mesma forma, pode usar as funções expostas de seus singletons compartilhados em eventos ao projetar suas Qodly Pages. Deixe-me aprofundar estas novas capacidades.

Produto blank

Gerir pedidos HTTP com agentes HTTP

Em 4D 19 R6, introduzimos classes HTTP para modernizar a sintaxe e melhorar as funcionalidades para nossos comandos de cliente HTTP. Construindo sobre essa base, 4D 20 R6 traz uma nova e poderosa caraterística: Agentes HTTP. Esses agentes capacitam os desenvolvedores a personalizar e otimizar suas conexões com servidores HTTP gerenciando a persistência de conexão e reutilização para pedidos HTTP.

Produto blank

Descontinuação da camada de rede herdada

Para lidar com a comunicação entre 4D Client e 4D Server, 4D propõe 3 camadas de rede diferentes:

  • Legado,
  • ServerNet,
  • e QUIC.

A camada de rede Legacy foi introduzida 30 anos atrás em 4D v3. Foi originalmente desenvolvida para AppleTalk, melhorada para ISDN, e depois adicionada IPX e finalmente TCP/IP.

Foi criada para um uso Cliente/Servidor muito diferente do que 4D trabalha hoje: é single-threaded, otimizada para redes lentas sem encriptação e disponível para muitos protocolos de rede diferentes. Como tal, não é otimizado para comunicações de rede modernas e suporta um número muito limitado de características.

É por isso que, com 4D 20 R5, decidimos tornar a camada de rede Legacy obsoleta e planejamos removê-la em breve. Nós o encorajamos a mudar para ServerNet agora se ainda a estiver usando. Deixe-me explicar os benefícios que obterá com a mudança.

Produto blank

QUIC agora combina com as capacidades da ServerNet

A camada de rede QUIC é compatível com tantas características quanto a camada de rede ServerNet. Com 4D 20 R5, adicionamos compatibilidade para IPv6, broadcast, e Single Sign-on em Windows.

É claro que continuaremos a melhorá-la nas próximas versões para torná-la a melhor camada de rede que 4D já existiu.

Mas por agora, deixe-me falar um pouco mais sobre as últimas funcionalidades que adicionamos.