JS vs JS · Coleções e procuras · Gerir os dados da web app e efetuar procuras

Wednesday 19 May 2021

Starts 18:30 PM

Finishes 22:30 PM


Organized by JavaScript vs JavaScript


Venue: Online/Virtual

Address: Online event on your device
8600 Lisboa

Go to this event

About this event

Quando passeiamos pelas ruas da cidade, e olhamos para dentro dos institutos, empresas e comércios, constatamos que todos utilizam computadores para gerir a sua atividade ou o seu negócio. O banco e o padeiro, o vendedor de sapatos e de seguros, o fisco e a pizzaria. As mais diversas atividades recorrem a aplicações distribuídas, entre elas muitas com uma interface gráfica num navegador, fazendo delas as chamadas ‘web apps’.

Já não existe atividade sem computadores. E não há computadores sem aplicações. É isso a razão de existência das nossas aplicações: gerir as transações dos produtos ou serviços dos nossos negócios. Em terminologia informática: as aplicações gerem os objetos do negócio.

Um aspeto chave de qualquer negócio é: em qualquer momento saber de todos os produtos e serviços disponíveis no negócio, e poder encontrá-los. Em outras palavras, um aspeto chave de qualquer aplicação, é gerir coleções de objetos e oferecer a funcionalidade de poder procurar nelas, para encontrar o produto ou o serviço desejado.

É por este motivo que, em qualquer linguagem de programação, existe a noção de uma ‘coleção’ (‘collection’), mais a funcionalidade de poder procurar nela. Por esse motivo, em JavaScript, existem várias variações de coleções, da coleção mais básica, o ‘Array’, até às coleções mais elaboradas como o ‘Map’ (um gênero de tabela de duas colunas), o ‘TypedArray’ (um conjunto de objetos do mesmo tipo) e o ‘Set’ (que garante ordem e unicidade).

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

········· ········· ········· ········· ········· ········· ········· ········· ········· ·········

À primeira vista, agregar os produtos ou serviços de um negócio, reduz-se à simples escolha da coleção mais adaptada. E a funcionalidade de procura é uma simples questão de invocar o seu API.

········· ········· ········· ········· ········· ········· ········· ········· ········· ·········

Não obstante, quando é desenvolvida uma aplicação distribuída, com uma parte a executar num cliente (p.ex. num browser) e outra parte num servidor (p.ex. um servidor web), a questão surge de onde guardar as coleções? Agrega-se os objetos no cliente ou no servidor? Se os objetos são agregados no servidor, como disponibilizo-os no cliente? Disponibilizo-os todos, ou apenas um extrato da coleção total? Como obtem-se esse extrato?

Além dessas situações a resolver, fica a resolver ainda como e onde, no cliente ou no servidor, definimos a procura nas coleções. Em muitas situações, será o utilizador da aplicação a iniciar procuras. A questão que surge nesse caso é: como definimos uma procura iniciada no cliente, mas executada no servidor?

Em outras palavras, a dificuldade a resolver é poder definir procuras distribuídas: o cliente inicia-as, envia-as para o servidor que as executará e enviará o resultado de volta ao cliente.

········· ········· ········· ········· ········· ········· ········· ········· ········· ·········

Felizmente, é possível definir procuras sob formato de objeto JavaScript, e, se bem abordado, ‘serializar’ esses ‘objetos procura’ para poder enviá-los a um servidor. É igualmente possível ‘desserializar’ as procuras recebidas pelo servidor, antes de as aplicar às coleções de objetos geridos por ele.

É isso que codificator.io irá demonstrar durante este evento: como definir procuras em coleções de objetos do lado do cliente, serializar e enviá-los para um servidor, para alí serem desserializadas e aplicadas às coleções de objetos.

O código fonte criado ao vivo neste evento, será partilhado com os participantes na p


This page last updated Wednesday 28 April 2021 at 16:04.

Problems? Report an error or inappropriate listing here.

Information displayed here is provided in good faith but we are not responsible for the content of any listing. Sometimes events can be cancelled or changed at short notice. Please check with the venue or organizer before you travel!