Olá! 👋

A parte mais difícil de qualquer negócio é, muitas vezes, começar. E parece que foi bem sucedido. Parabéns!

A partir daqui, temos um longo caminho a percorrer na aprendizagem de programação em geral e No-Code (a capacidade de criar programas sem aprender linguagens de programação complexas) em particular. Mas antes de mais, vale a pena um pouco de compreensão dos termos básicos.

Se já é um profissional de TI, sinta-se à vontade para saltar este módulo introdutório. Aqui trataremos dos conceitos mais básicos. Aplicação, frontend, base de dados, protocolo HTTP, etc.

Pronto? Vamos lá!


Teoria geral

Noções básicas de programação

Os computadores, embora possam parecer muito inteligentes, são inerentemente incapazes de fazer algo por si próprios. Precisam de instruções claras. Há mesmo uma piada tão antiga - "O computador não faz o que você quer, mas o que você ordenou que ele fizesse".

Acontece"programação" num sentido lato - é a criação de instruções (comandos) claras e compreensíveis para um computador. E as instruções em si numa linguagem compreensível para um computador são um "programa".

E aqui vale a pena destacar a frase "uma linguagem compreensível para um computador" (linguagem compreensível para um computador). De facto, falamos uma língua, e o computador fala outra. Não compreende a fala humana (pelo menos até receber um programa que o ensine a compreender a fala). Tal como nós, sem formação especial, não compreendemos linguagem de máquina (ou código de máquina), que pode ser representada como uma sequência de 1 e 0.

10110100 00111010

Completamente incompreensível, certo?

Para assegurar a comunicação, foram criadas linguagens de programação (e estão constantemente a ser criadas novas).

Há linguagens que são chamadas"de baixo nível". Estão muito próximas dos códigos de máquina, mas os comandos são escritos de uma forma que é mais compreensível para uma pessoa. O representante mais famoso de tais linguagens é "Assembler".

A próxima fase é a das linguagens de programação de "Alto nível". A maioria das linguagens de programação modernas pertencem a elas: Java, C ++, Python, Go e muitas outras. Elas foram concebidas para serem usadas com rapidez e facilidade pelo programador. Ao mesmo tempo, um único comando em tal linguagem pode ser traduzido num conjunto muito complexo e longo de comandos em código de máquina.

E aqui está um novo termo - "Tradutor". Esta é exactamente a ferramenta que traduz (ou compila) texto escrito numa língua de alto nível para um conjunto de instruções de máquina. Ao mesmo tempo, não devemos preocupar-nos (ou devemos preocupar-nos muito menos) com o facto de que todos os computadores são diferentes, executam processadores diferentes, e estes processadores utilizam conjuntos de instruções diferentes. O tradutor irá fazer este trabalho por nós.

A plataforma AppMaster pertence a plataformas No-Code. Pode ser chamada com segurança a próxima fase de desenvolvimento. Com ela, tornou-se possível criar aplicações de nível empresarial sem aprender qualquer linguagem de programação, sem escrever código complexo. É o que vamos fazer neste curso. De facto, utilizando blocos visuais claros, limitamo-nos a descrever o que precisa de ser feito. E depois as tecnologias AppMaster.io já estão activadas e eles próprios escrevem código a grande velocidade.

A propósito, este código é escrito na língua Go (também conhecida como GoLang). E, por um lado, isto é muito importante. Afinal, estamos certos de que estamos a utilizar uma linguagem moderna especialmente desenvolvida pelo Google para criar programas altamente eficazes. Por outro lado, isso não importa. Afinal, é possível esquecer de todo que língua é aí utilizada (pode mesmo ser substituída por outra se for encontrada uma solução mais eficaz), basta concentrarmo-nos na criação de uma aplicação, e não nos meandros da sua implementação técnica.

Antes de avançarmos, sejamos claros. No texto acima, são utilizados termos diferentes - "Programas", "Aplicações". São sinónimos que significam a mesma coisa.

"Software" também pode ser adicionado aqui, normalmente este termo refere-se a um conjunto de programas (aplicações). Por exemplo, o "software" instalado no seu computador. A palavra "Software" também pode ser considerada um sinónimo.

Tipos de aplicações

Que tipo de aplicações existem? Vamos tentar racionalizar e estruturar um pouco.

  1. Consola
    Também podem ser chamadas aplicações de interface baseadas em texto ou linha de comando.
    Como o nome implica, tais aplicações não têm uma interface gráfica familiar (enquanto que pode ser implementada usando símbolos pseudográficos, e mesmo elementos interactivos podem ser adicionados), e o controlo é efectuado através da introdução de comandos de texto na consola.
    Pode parecer que este tipo de aplicação está há muito desactualizada. Mas de facto, devido a requisitos mais baixos de recursos de hardware, não perdem a sua relevância até aos dias de hoje. Ao mesmo tempo, em muitas indústrias, a utilização da linha de comando tem mesmo certas vantagens em termos de simplicidade e facilidade de utilização.

  2. Aplicações de secretária
    Aplicações que são instaladas e executadas em computadores.
    Por exemplo, aplicações de escritório da Microsoft: Word, Excel, PowerPoint, etc.
    Ou um browser, graças ao qual se abrem sites na Internet e, provavelmente, até se lê este texto.
    A propósito, o terminal para trabalhar com a linha de comando é também frequentemente uma aplicação Desktop.

  3. Móvel
    O mais provável é que tenha um smartphone. Não importa o sistema operativo que utiliza: Android, iOS ou algum mais raro. Em qualquer caso, as aplicações que utiliza no seu smartphone são aplicações móveis.
    Exemplos incluem navegadores, instant messengers, jogos ou aplicações para redes sociais.

  4. Incorporadas (embedded)
    Estas aplicações (embora neste caso seja correcto utilizar o termo software) são mais difíceis de notar, mas são utilizadas para controlar vários dispositivos e equipamentos.
    Graças ao software incorporado, a impressora processa trabalhos de impressão, o router distribui a Internet e o funcionamento de uma grande variedade de equipamento é assegurado.

  5. Aplicações Web
    Aplicações que interagem com o navegador e funcionam utilizando a Internet.
    São o tipo de aplicações mais comum neste momento, e iremos prestar muita atenção à sua criação neste curso.

Há também muitos tipos de aplicações web. Vamos nomear as principais:

  • Aterragens. Pequenas páginas de informação onde se pode preencher um formulário ou deixar algum tipo de pedido.
  • Portais de informação. Estes incluem sítios de notícias (por exemplo, Yahoo!) ou sítios desportivos (Fifa).
  • Lojas da Internet. Desde pequenas lojas locais a grandes mercados internacionais.
  • Rede social. Twitter, Facebook e muitos outros.
  • Jogos. Desde simples jogos baseados em texto até aos mais avançados jogos 3d.
  • LMS (Learning Management System).
  • CMS (Content Management System). Graças a eles, é possível gerir facilmente o conteúdo do site, adicionar novos artigos.
  • Sistemas CRM (Customer Relationship Management). Sistemas para automatizar as relações com os clientes.
  • Serviços em linha. A sua diversidade é digna de uma classificação separada. Entre eles estão os serviços de previsão do tempo, serviços de pesquisa, e serviços bancários, e muito, muito mais.

Bem, nós descobrimos as aplicações, fizemos a classificação básica, classificámos os tipos de aplicações web. Mas, afinal, como é que funciona?

E aqui chegamos a termos muito importantes.

Frontend e Backend

A ilustração mais simples é o teatro. Chegamos ao espectáculo, vemos os artistas no palco, aplaudimo-los, recebemos arcos em troca. E, ao mesmo tempo, sabemos com certeza que o teatro não se limita ao auditório, e não termina com o palco. Algures, os trajes são cosidos, os preparativos estão em curso no camarim, algures onde o director dá instruções. Não vemos tudo isso, mas sabemos com certeza que está lá, e sem tudo isso o teatro não seria capaz de funcionar.

De modo muito semelhante, tudo é organizado em aplicações web.

Há uma camada que vemos. A página que é exibida quando abrimos algum sítio. Esta página tem provavelmente algum tipo de animação e até botões que se podem clicar.

Esta camada visível é chamada "Frontend". Ela inclui tudo o que está do lado do utilizador. Tudo o que é exibido no ecrã do seu dispositivo. Algo que se pode ver e até sentir.

Mas, ao mesmo tempo, podemos ter a certeza de que tudo não se limita ao front-end. Afinal, mesmo o próprio frontend, muito recentemente, não se encontra nem no ecrã nem na memória do computador. Aparece quando decidimos abrir outro site e introduzir o seu endereço no browser.

Fazemos um pedido para mostrar o site e recebemos uma resposta. Que bloqueios tem, onde estão localizados, como se apresentam, que fontes são utilizadas. Pressionamos um botão e o comando vai para o servidor para calcular alguma informação, emitir uma resposta, e fornecer uma solução para o problema. Este sistema de pedido e resposta, Request-Response, é a pedra angular de como funcionam todas as aplicações Web.

O pedido através da Internet vai para o servidor, para o lado invisível aos nossos olhos, para o "Backend". Ao mesmo tempo, o pedido em si contém também certas informações, tem alguns parâmetros. Com base nestas informações, o backend decide qual a resposta a enviar (ou pode acenar educadamente, confirmar a recepção do pedido, mas não transmitir mais dados).

O próprio protocolo de transferência de dados é chamado HTTP - HyperText Transfer Protocol. Pode ver estas 4 letras no início da barra de endereços do navegador. Isto informa que a interacção será realizada utilizando o protocolo HTTP. Podemos dizer que as partes concordaram em que língua irão comunicar.

E não deixe que o seu nome o engane. De facto, no início da Internet, o protocolo foi concebido exclusivamente para hipertexto. Ou seja, texto com ligações, com a possibilidade de ir para outra página, obter outro texto. Agora permite-lhe transferir quaisquer dados: imagens engraçadas, canções, vídeos de dança de Tik-Tok.

Em outros módulos do curso, trataremos em detalhe a estrutura dos pedidos e respostas. Iremos criar pedidos com respostas, bem como a lógica para o seu processamento. Nesta fase, é suficiente compreender o próprio princípio da transferência de dados do frontend para o backend e vice-versa.

A propósito, os dados em si não aparecem por magia. A aparência dos pedidos no frontend é fácil de compreender - é você mesmo que os introduz. Mas para transferir informações para si, é necessário organizar de alguma forma o seu armazenamento e processamento.

Para este efeito, "Bases de dados" (BD) funcionam. Armazenam dados de uma forma estruturada. E há sistemas que gerem estes dados - SGBD (Sistema de Gestão de Bases de Dados). Permitem escrever novos dados na base de dados, obter dados a partir daí, modificá-los, apagá-los (Tudo isto em conjunto é assinalado pela abreviatura CRUD - Create, Read, Update, Delete). Também estudaremos tudo isto em pormenor em futuros módulos. Vamos descobrir o que são bases de dados em geral, como é organizado o seu trabalho e como é fácil geri-los no AppMaster.

Que tal experimentá-las na prática? Está na hora de fazer o primeiro...


Trabalho de casa

É necessário permitir que o terminal funcione com a linha de comando. No Windows, a aplicação desejada chama-se CMD, no MacOS - Terminal.

Utilize a aplicação de consola de ondulação (se não estiver instalada no seu computador - conserte-a). É concebida especificamente para enviar um pedido a um serviço específico e receber uma resposta a partir daí.

Como exemplo, envie um pedido HTTP para o serviço BoredAPI. Este é um serviço que pode captar uma actividade para todas as ocasiões.

Para o fazer, introduza o seguinte comando no terminal:

encaracolar "http://www.boredapi.com/api/activity?type=diy".

Note-se que a morada pode ser condicionalmente dividida em duas partes - antes e depois do ponto de interrogação.

A primeira parte é o próprio endereço do pedido. Neste exemplo - "http://www.boredapi.com/api/activity".

A segunda parte são os parâmetros de pedido. No exemplo - "type=diy". Ou seja, o parâmetro de pedido é "type" com o valor "diy". Assim, indicamos que queremos obter uma actividade que possa fazer por si próprio (diy - Do It Yourself).

Veja qual foi a resposta recebida. Encontre a informação que precisa nela. Em outros módulos, analisaremos em pormenor de que forma vem a resposta, em que consiste. Nesta fase, é suficiente compreender que é exactamente este o aspecto da resposta ao pedido do backend antes de ser logicamente processada e belamente exibida no frontend.

Consulte a documentação do serviço (http://www.boredapi.com/documentation) e faça você mesmo um pedido mais complexo com parâmetros diferentes. Por exemplo, descubra que actividade é adequada para uma empresa que tem mais de 5 mas menos de 10 pessoas.

Para consolidar o material, tente dominar um serviço mais complexo. Por exemplo - https://www.alphavantage.co/

Leia a documentação, obtenha a taxa de câmbio ou as cotações das acções na base de dados.

Antes de utilizar, deve registar-se e obter uma chave de acesso pessoal.