- Saber mais sobre aplicativos web e como eles diferem de aplicativos comuns
- Saber mais sobre as diferentes opções para programação e construção de aplicativos web
- Instalar o software necessário para criar um aplicativo Web
Estas são as atividades para esta lição:
APLICATIVOS WEB
Para seu projeto Technovation, você tem a opção de criar um aplicativo ou um aplicativo web.
Para as participantes que já participaram do Technovation antes e estão procurando um novo desafio, ou para novas participantes que têm experiência anterior com programação, considere a possibilidade de criar um aplicativo web para o seu projeto Technovation.
Muitas participantes optarão por criar um aplicativo com uma de nossas plataformas sugeridas de construção de aplicativos, o App Inventor ou o Thunkable. Se você é nova na programação ou sabe que deseja usar o App Inventor ou o Thunkable para programar o app, pode pular esta lição!
Criar um aplicativo web envolve programação baseado em texto e é mais avançado do que programação baseada em blocos com App Inventor ou Thunkable.
Vamos começar com uma revisão da diferença entre aplicativos, aplicativos web e aplicativos web progressivos.
Aplicativo comum
- um programa que é executado nativamente no telefone
- baixado e instalado no dispositivo
- pode acessar os recursos do telefone, como GPS e câmera
- específico da plataforma (iOS ou Android)
- programado com linguagens específicas do sistema operacional
Aplicativo Web
- se parece muito com um aplicativo comum
- é executado em um navegador da Internet
- não nativo de um dispositivo específico (iOS ou Android)
- geralmente é programado com HTML, CSS, Javascript e Python
- não pode ser executado quando estiver off-line
Aplicativo Web Progressivo
- Tipo especial de aplicativo web que é um híbrido entre um aplicativo e um aplicativo web
- é executado em um navegador
- também pode ser instalado no dispositivo móvel como um aplicativo
- pode ser executado mesmo quando o usuário estiver off-line
Observe que um aplicativo web é diferente de um site. Um site é estático, programado com HTML e CSS. Os aplicativos web são dinâmicos e mudam com base na entrada do usuário e em outras interações externas. Para seu projeto Technovation, um site não é aceitável.
Exploraremos algumas opções para iniciantes para criar aplicativos web.
Uma grande diferença em relação às plataformas de criação de aplicativos que abordamos em aplicativos é que você criará um aplicativo web usando uma linguagem de programação baseada em texto em vez de uma linguagem baseada em blocos.
Há duas linguagens principais que são usadas para criar aplicativos web.
JAVASCRIPT
Javascript ou JSé uma linguagem de script. Isso significa que o código é executado em tempo de execução, em vez de ser compilado, como em aplicativo. É como um ator que executa seu roteiro durante um show cada vez que o show é executado.
O Javascript é frequentemente combinado com HTML e CSS para criar sites. O HTML e o CSS são usados para criar sites estáticos, que podem apresentar informações, mas não mudam. O Javascript acrescenta interatividade e a capacidade do site mudar e se atualizar com base em fatores externos. E um site dinâmico e interativo é essencialmente um aplicativo web.
PYTHON
Python é uma linguagem de programação de uso geral muito popular. Python é tanto uma linguagem de programação e uma linguagem de script, portanto, pode ser compilada para execução, mas também pode ser executada em tempo de execução.
Ela é vista como uma linguagem direta, versátil e acessível para novos programadores. Ela é usada em muitos aspectos diferentes do desenvolvimento de software. Uma área é o desenvolvimento Web. Outra é machine learning, ou em língua portuguesa, aprendizado de máquina. Portanto, Python é uma ótima opção para aprender e desenvolver aplicativos web com IA mais avançada.
Neste curso, vamos nos concentrar em criar aplicativos web com Python. Para criar facilmente um aplicativo web usando Python, usaremos uma estrutura chamada Streamlit. O Streamlit permite que você crie um aplicativo web poderoso e interativo com pouco código. Ele é especializado em aplicativos que envolvem dados e permite que você use facilmente as bibliotecas de machine learning do Python para incorporar IA em seus aplicativos.
Aqui estão alguns dos principais recursos.
- Boa opção para pessoas que têm muita experiência em programação baseado em blocos e estão procurando um novo desafio
- Bom para pessoas que já fizeram alguma coisa com programação de texto
- Linguagem muito versátil e amplamente utilizada
- Será necessário instalar um software em seu computador
- Python e bibliotecas associadas
- Um editor de código
- O Streamlit tem a opção de ser executado no navegador, usando o Github
- Não abordaremos essa opção neste currículo
- Você pode usar a IA com ele
- Linguagem mais popular para criar e usar modelos de machine learning (aprendizado de máquina)
- Usaremos o Jupyter Notebooks neste currículo para a criação de modelos
PARA COMEÇAR
Para programar aplicativos web para seu projeto Technovation, você precisará:
- um computador ou notebook
- Acesso à Internet
Você deve estar familiarizada com o uso da janela Terminal em um Mac ou Linux e com o Terminal ou prompt de comando no Windows. Se você não tiver experiência, ou mesmo se não souber o que é a janela Terminal, assista a estes vídeos para iniciantes antes de prosseguir com a atividade.
Assista ao vídeo apropriado para seu sistema operacional.
Abordaremos duas opções para o desenvolvimento do aplicativos web. Você pode codificar em seu computador ou laptop, ou pode codificar tudo na nuvem. Você pode escolher qualquer uma das opções, mas é recomendável escolher uma delas e mantê-la durante todo o seu projeto Technovation. Saber como usar os comandos de terminal acima é útil em qualquer uma das opções.
Aqui estão alguns prós e contras de cada um.
EM SEU COMPUTADOR
PRÓS:
- Os arquivos são salvos em seu computador
- Aprenda a usar o Visual Studio Code, um IDE muito popular
- Você aprenderá muito sobre como usar a janela do terminal, instalar pacotes, etc
- Controle total e escolha do software usado
- Pode codificar sem precisar sempre de acesso à Internet
CONS:
- Não é fácil compartilhar arquivos e códigos com a sua equipe
- Pode ser muito frustrante instalar pacotes e pode levar muito tempo para configurá-los
- Possibilidade de perda de arquivos em caso de falha do computador
NA NUVEM
PRÓS:
- Os arquivos são armazenados na nuvem
- Não há necessidade de instalar nada em seu computador
- Link automático para o Github para fins de portfólio
- Fácil de compartilhar e codificar em equipe
CONS:
- Não terá a experiência de usar o software localmente
- Dependência de conexão com a Internet
Escolha a Atividade A ou a Atividade B, com base no fato de você querer codificar localmente em seu computador ou codificar na nuvem.
ATIVIDADE A: COMECE A USAR PYTHON EM SEU COMPUTADOR
INSTALAR O SOFTWARE E PROGRAMAR O APLICATIVO INICIAL
- Etapa 1: Instale Python. Aqui está um bom conjunto de instruções para Windows, Mac ou Linux.
- Etapa 2: Instale um editor de código e o Streamlit. Este vídeo mostra como instalar o Visual Studio Code e, em seguida, instalar o Streamlit para executá-lo a partir do editor de código.
- Etapa 3: Execute um aplicativo web Streamlit muito simples no ambiente de programação VS Code seguindo este vídeo.
- Para comemorar, tire uma captura de tela do seu primeiro aplicativo web e envie-a com uma nota para seu/sua mentor(a)!
ATIVIDADE B: INTRODUÇÃO AO PYTHON NA NUVEM
CRIAR CONTAS E CODIFICAR UM APLICATIVO
REVISÃO DOS PRINCIPAIS TERMOS
- Aplicativo web - aplicativo que se parece com um aplicativo, mas é executado em um navegador da Internet e é programado usando HTML, CSS e Javascript ou Python
REFLEXÃO
Parabéns por ter experimentado alguns textos baseados em programação! Aqui estão algumas perguntas para reflexão que você deve considerar com sua equipe e com seu/sua mentor(a).
RECURSOS ADICIONAIS
Você precisará consultar a documentação e o suporte para obter ajuda para trabalhar com Python e Streamlit. Abaixo estão alguns bons lugares para começar.
- O guia para iniciantes do Python.org tem alguns bons links para aprender mais sobre Python.
- Galeria de aplicativos do Streamlit
- Lista de reprodução completa do curso Streamlit da Nileg Production