Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. API: Application Programming Interface ou, na língua do Chimbinha, “interface de programação de aplicativos“, é uma “er…” interface que faz… exatamente o que o nome diz: permite a programação de aplicativos! Não entendeu? No seu bairro deve ter uma pizzaria onde você pode ir e comprar uma pizza, certo? Mas você também pode telefonar e “programar” o cozinheiro para fazer a mágica dele, fabricar uma pizza e levar até sua casa, certo? Então, de maneira semelhante, as startups oferecem métodos alternativos para acessarmos os serviços que elas oferecem. Por exemplo: eu posso ir no site do Google Maps e fazer uma busca, ou posso fazer essa mesma busca no app do Uber que usa a API do Google Maps (pensa no telefone da Pizzaria, só que operado por robôs) para acessar as informações do Google e disponibilizá-las para você. 2. Algoritmo: maneira chique de falar passo-a-passo. Sabe aquela receita de bolo que a sua avó seguia? Então, aquilo era algoritmo em sua forma mais deliciosa. 3. Linguagens de alto nível: quando a gente fala que uma linguagem é de alto nível, isso não tem nada a ver com meritocracia, gosto musical nem hierarquia social! As linguagens de programação trabalham em conjunto e em diferentes níveis: aquelas que atuam mais próximas do hardware são chamadas de baixo nível e as que têm um nível de abstração elevado, mais próximas à linguagem humana e com alto nível de abstração (sacou?) são chamadas de alto nível. Ver: Baixo nível. 4. Back-End: É a parte da web que fica invisível para o usuário final. Programadores Back-end são os responsáveis por criar toda a magia que acontece “por trás dos panos”, toda vez que você usa uma aplicação. São inúmeras linguagens de back-end, sendo JavaScript, Ruby, Python e PHP as mais usadas por empresas de tecnologia, hoje. Ver: Back-End e Full-Stack. 5. Linguagens de baixo nível: No mundo da programação “baixar o nível” não é necessariamente algo ruim! Linguagens de baixo nível são aquelas que “falam” diretamente com o processador sem precisar (ou precisando pouco) de adaptação. Simplificando, podemos dizer que são sequências de instruções binárias entendidas pelo processador do computador e por alguns poucos humanos como Neo, Morpheus e toda aquela turma que conseguiu escapar da Matrix. 6. Bug: Também conhecido como “dar pau”, é aquela coisa injusta que acontece por culpa do computador (e nunca do programador), fazendo com que os programas não se comportem exatamente da maneira esperada. 7. Chatbot: É como se fosse aquele atendente automático da Net só que em versão chat que, por algum motivo desconhecido, ganhou fama de “cool” e passou a ser visto pelos leigos como algo super tecnológico e de outro planeta. 8. Codar: ..ou, programar... 9. Código elegante: aquele código que consegue, em poucas linhas ou de maneira simples, resolver problemas complexos. Também se caracterizam por serem limpos, indentados corretamente e bem documentados. Uma boa maneira de descobrir se um código é elegante seria observando se o desenvolvedor que está lendo-o não está sofrendo ímpetos de se transformar em um assassino sádico que mata lentamente apenas por prazer. 10. Comitar: É tipo um “save” tridimensional. Imagina que você está trabalhando em um projeto com centenas de arquivos e que, na hora de salvar, você pudesse guardar não apenas as mudanças feitas naquele arquivo, mas também as mudanças feitas em TODOS os arquivos do projeto, assim como saber quais arquivos foram modificados, adicionados ou apagados. Seria incrível, né? Pois é exatamente isso o que o Git faz (confira verbete!)! Quando um dev diz que “comitou”, ele quer dizer que já terminou aquela parte do trabalho e o estado do projeto está “salvo” no Git. Ver: Git. 11. Diretório: É a palavra que seu tio programador old-school usa para se referir às pastas do seu computador. 12. Debug/”debugar”: processo lento, doloroso e carcinogênico de retirar bugs de uma aplicação. 13. Foo: “foo” está para o desenvolvedor assim como “trem” está para o mineiro. 14. Força bruta: Resolver um problema usando o poder de processamento infinito do computador. É o contrário de elegância. 15. Funfa: Código que funciona (mesmo que a gente não saiba o porquê). 16. Framework: Pensa no pão-de-forma: uma porção de carboidratos pré-moldados que pode servir de base a várias aplicações alimentícias. Com um pão-de-forma, você pode criar desde clássicos da “larica” de geladeira vazia como o pão-de-forma com ketchup e maionese até bruschettas chiques, passando pela torta fria de pão-de-forma e frango da sua tia, até chegar aos universais e deliciosos misto-quente e PB&J. Podemos dizer que o pão-de-forma é um framework alimentar: oferece as funcionalidades básicas para qualquer aplicação alimentar (exceto as low-carb): e a cara, o formato e as características finais da aplicação, quem decide é o seu criador. (Sério, Fernando Americano, vc é a melhor pessoa.) 17. Front-End: É a parte da web que você vê. Desenvolvedores Front-End são aqueles que se preocupam com a experiência do usuário (UX) e com a interface (UI ou GUI), trabalhando principalmente com HTML, CSS e JavaScript. Ver: Back-end e Full-Stack. 18. Full-Stack: o cara que joga nas 11. São chamados Full-stack developers os devs que entendem tanto de front quanto de back-end. É aquele cara que compõe, grava, produz, mixa e ainda cria a capa do disco. Ver: Front-end e Back-end. 19. Git: Ferramenta de controle de versão de arquivos que permite o trabalho colaborativo sem a necessidade de ficar enviando e renomeando arquivos por e-mail, além da possibilidade de saber, para cada alteração: quem fez, quando, onde (em que arquivos e linhas de código) e por quê. Estamos em 2019 e ainda tem gente que fica naquele vai-e-volta de arquivo de Word por e-mail. 20. Hardware: Como diz o ditado, hardware é aquilo que a gente chuta. Software é aquilo que a gente xinga. 21. Indentação: São os recuos no texto de um código usados para organizar visualmente, melhorar a leitura e proteger a sua vida caso a pessoa lendo o seu código seja um psicopata assassino. Tipo regras da ABNT, mas com consequências mais graves. 22. Internet vs. Web: Muita gente pensa que Internet e web são a mesma coisa. Internet, a famosa “Rede mundial de computadores” nas palavras do William Bonner, é a infraestrutura de cabos, servidores, roteadores, etc. por onde transitam diversas aplicações: seus e-mails, os dados enviados e solicitados por seus apps e as páginas web. As páginas Web (isso aí que está rodando dentro do seu browser) são apenas uma das diversas aplicações que podem rodar usando a estrutura da Internet. 23. POO (Programação Orientada a Objetos): Steve Jobs já deu aquela que talvez seja a melhor explicação sobre o assunto! Com a palavra, Ele: Objetos são como pessoas. Eles estão vivendo, respirando, realizando ações que têm conhecimento, além de possuírem memória dentro deles para que possam se lembrar de coisas. E ao invés de interagir com eles em um nível muito baixo, você interage com eles em um nível muito alto de abstração, como estamos fazendo aqui. Aqui está um exemplo: se eu sou seu objeto de lavanderia, você pode me dar sua roupa suja e enviar-me uma mensagem que diz: "Você pode pegar minhas roupas lavadas, por favor." Acontece que eu sei onde fica a melhor lavanderia em San Francisco. Eu falo inglês e tenho dólares nos bolsos. Então, eu saio, chamo um táxi e digo ao motorista para me levar a este lugar em San Francisco. Eu pego suas roupas lavadas, entro novamente no táxi e volto aqui. Eu lhe entrego suas roupas limpas e digo:"Aqui estão suas roupas limpas". Você não tem ideia de como eu fiz isso. Você não tem conhecimento do lugar da lavanderia. Talvez você fale francês e não pode sequer chamar um táxi. Você não pode pagar por não https://www.rollingstone.com/culture/culture-news/steve-jobs-in-1994-the-rolling-stone-interview-231132/#ixzz3uQAiRSWf ter dólares no bolso. Mas eu sabia como fazer tudo isso. E você não tem que saber de nada disso. Toda essa complexidade estava escondida dentro de mim e fomos capazes de interagir em um nível muito alto de abstração. Isso é o que são objetos. Eles encapsulam a complexidade e as interfaces para que esta complexidade esteja em alto nível (de abstração). 24. POM (Programação Orientada à Modinha): doença viral espalhada pelo Reddit, conferências e “Campus Parties”, onde desenvolvedores são levados a fazer escolhas ilógicas sobre tecnologia e arquitetura de seus projetos, baseados em hype e buzzwords. 25. POG (Programação Orientada à Gambiarra): Paradigma avançado de “programação criativa”, onde nenhuma solução é precária o suficiente para ser considerada permanente. Não ver: Refatorar. 26. Refatorar: Reescrever um pedaço de código para cumprir o mesmo objetivo, mas de forma mais simples ou elegante. Ver: Elegante. https://www.reddit.com/ 27. Software: aquilo que a gente xinga. Ver: Hardware. 28. “Stack Overflow”: Corporação de ofício onde os desenvolvedores-aprendizes vão para obter conhecimento, enquanto são humilhados e maltratados pelos desenvolvedores-mestres. E aí, acha que aprendeu? Então, aqui vai um desafio: baixe o currículo do Le Wagon e me diga se conseguiu entender tudo! mixin Na programação, o termo mixin refere-se a uma classe que estende de 2 ou mais classes, ou seja, sendo B e C classes, A herda ao mesmo tempo de B e C. Porém, para ser considerado um mixin e não uma herança múltipla, B e C não podem ter funçaõ inicializadora, do contrário, não temos um mixin e sim, a simples utilização da herança múltipla. qualificação de nomes Qualificação de Nome é utilizado nas linguagens de programação para se referir a nomes que poderão ser acessados através de outro nome. Considere x como sendo um membro e x.y como um sub-membro. Dizemos que y é um nome qualificado desde que possa ser acessado pela estrutura x.y. BLOB BLOB (binary large object) - o termo BLOB é um acrônimo de (binary large object), e é pronunciado BLAHB o seu objetivo quando relacionado a Banco de Dados é SEMPRE o armazenamento de grandes quantidade de dados no formato de bytes. https://www.lewagon.com/pt-BR/program https://www.lewagon.com/pt-BR/program Tipado Na programação, tipado significa uma variável ou algum valor que possui um tipo pré-determinado. Recursividade Recursividade ou Função Recursiva significa a invocação de si mesmo. Ou seja, é uma função que após executar o seu bloco de instrução invoca a si mesma novamente. Ola Mundo O termo Ola Mundo se refere ao trecho que código mínimo para a impressão na tela da frase Ola Mundo com determinada tecnologia. O principal objetivo desses códigos é demonstrar o mínimo necessário para o desenvolvimento de uma aplicação com determinada tecnologia. Raríssimos serão os livros ou tutoriais que não utilizar o código do Ola Mundo no início. Hello World Ver Ola Mundo. Módulo 1. Parte de algum software. 2. Parte de um código Em Python, módulo é todo arquivo *.py Ver também, Biblioteca, Pacote, API Biblioteca Estrutura que contém um conjunto de códigos, pacotes, classes e etc. Geralmente, encontramos pacotes dentro de Bibliotecas ou então, módulos. Pacote Estrutura que contém um conjunto de códigos para ser utilizado por outros programadores. Em Java, as classes são organizadas através de pacotes. API - Application Programming Interface Acrônimo de Application Programming Interface, ou então, interface de programação de aplicativo é um conjunto de funções que podem ser invocadas através de alguma linguagem de programação. Uma API disponibilizar uma conjunto de ferramentas para a construção de por exemplo, um programa. Há centenas de API existes e qualquer desenvolvedor por criar a sua. Sistema Operacional (SO) Programa de computador que interage com o Hardware e possibilita a construção de aplicações onde não é necessário interagir com o hardware diretamente. Uma excelente maneira para pensarmos no sistema operacional é na forma de camadas. Logo, o SO é uma camada de software e disponibiliza uma maneira para a construção de outros software pelo uso de uma API pública. shell Janela, normalmente preta, para a manipulação do sistema operacional através da linha de comando. Sistemas Operacionais Unix sempre disponibilizam uma janela para a interação com o Sistema Operacional através da linha de comando. Ver também Console Console Janela, normalmente preta, em que é possível trabalhar na linha de comando. Ver também Shell Indentar (-ção) O termo Indentar vem do Inglês indentation e significa o recuo de um texto em relação a sua margem esquerda. Paradigma de Programação Modelo de estrutura utilizado pela linguagem de programação. Há vários paradigmas existentes e cada linguagem utiliza um ou vários paradigmas. superset 1. Adjetivo de estado evoluido. Algo que evoluiu. 2. Conjunto que possui todos os elementos de outro que se somarão aos seus e assim, constituirão algo novo, porém, que contempla também o seu sucessor. exemplo A linguagem C++ é um superset de C. tipado Aquilo que possui um tipo pré-definido. Iteração Iterar, ou então, iteração é o nome das estruturas que repetem um mesmo bloco de código por uma quantidade de vezes finita ou então, pelo tempo em que uma condição for verdadeira. Pode-se dizer que todas as linguagens de programação para computadores possuem, no mínimo, uma estrutura de iteração. Dicionário Aurélio 1. Tornar a fazer ou a dizer; repetir, reiterar. Looping 1. O termo looping é comumente entendido como sendo ciclos, no plural. Repetição de um trecho de código. 2. Programa travado. "O programa está em looping". 3. Estado no qual um programa se encontra. Tipo Primitivo 1. Tipo de dado utilizado para declarar variáveis e que estão embutido no interpretador ou compilador da linguagem em uso. 2. Tipos da linguagem Classe projeto de todo objeto. Instância A execução de uma classe. Objeto A execução de uma classe. Herança Capacidade de herdar as características de outra classe Polimorfismo Capacidade de ter funções com mesmo nome e assinatura, porém, com comportamentos diferentes. Membro de Classe pode ser uma função, ou então, uma propriedade (variável). Propriedade Característica do objeto e na programação, é representando por uma variável. SuperClasse SuperClasse: a classe pai; classe que esta sendo estendida. SubClasse A classe filha; a classe que implementará a partir da implementação de outra. Classe-Pai Sinônimo de SuperClasse; classe utilizada como base para a criação de outras. Classe-base Sinônimo de SuperClasse. Evento algo que ocorreu dentro de uma classe e disparou uma funcionalidade. Setar Setar: definir um valor a; verbo ainda inexistente na Língua Portuguesa cuja origem vem do Inglês do verbo set. Exemplo: "seta o valor 10 para a variável x". callback callback: função que será invocada quando algo ocorrer ou então, algum outro evento acontecer. string string: conjunto de caracteres numa determinada ordem interpolar interpolar: inserir uma string no meio de outra concatenar concatenar: juntar duas ou mais sequências de caracteres shebang line shebang line: primeira linha de arquivos que possuem código interpretado que definirá a versão do interpretador que deve ser utilizado para a execução do Script contido nas linhas seguintes. Compile-Time Numa traduçãolivre seria, (tempo de compilação). É o que acontece no momento em que estamos compilando nossa aplicação, ou seja, quando clicamos no menu Compilar ou então, executamos a compilação através da linha de comando. Run-Time Numa tradução livre seria, (tempo de execução) é o aquilo que acontece no momento de execução da nossa aplicação. Compilação Compilar, significa em programação, converter código fonte de programação em código executável. Em linguagem como C e C++, a compilação é feita através de compiladores como por exemplo o GCC. Para o GCC, a compilação é o processo de tornar código fonte em código intermediário pronto para ser "linkado". Já, quando estamos programando em Java ou então Python, a compilação é o processo de converter o código-fonte em código normalmente chamado de ByteCode. ByteCode é um tipo de código que as Máquinas Virtuais interpretam. Link Building O processo de "lincagem" se resume em pegar os códigos compilados e empacota-los num arquivo que possa ser executado. BUILD O "build", do inglês, "montagem", normalmente é o processo de compilação e linkagem respectivamente, e o resultado do build é um arquivo executável numa determinada plataforma. REBUILD O termo "rebuild" normalmente significa a limpeza de todos os executáveis gerados pelo compilador para em seguida, seja possível recriar todos esses arquivos. Essa é uma opção comumente utilizada quando alguma anomalia ocorre no processo de desenvolvimento. Logo, os programadores optam por excluir todo código gerado nas outras compilações para que então, tudo seja gerado novamente. IDE - INTEGRATED DEVELOPMENT ENVIRONMENT A palavra IDE é um acrónimo de (Integrated Development Environment) que numa tradução livre seria: Ambiente de Desenvolvimento Integrado. Uma IDE, normalmente é constituida por um editor de texto especializado numa determinada linguagem, com um compilador acoplado e integrado de tal forma, que basta pressionarmos uma tecla ou clicarmos num item de menu para compilarmos, "linkarmos" e executarmos um projeto. Uma IDE deve ser entendida como uma ferramenta que auxilia no desenvolvimento de software. Atualmente, as IDE contém cada vez mais recursos e ferramentas acopladas e também, as mesmas possuem a capacidade para a construção de plugins, ou seja, pequenos programas utilitários que são acoplados a IDE. TUIO O termos TUIO é um acrônimo de Tangible User Interface Objects. PEP Python Enhancement Proposal Ferramentas de programação As ferramentas de programação são softwares ou programas que as pessoas da área usam para criar, depurar, processar ou otimizar alguma etapa do processo de trabalho. Algumas das principais são: Sistema operacional – Sistema que faz comunicação entre o hardware, gerenciando e distribuindo seus recursos, e os demais softwares e cria uma plataforma comum a todos os programas utilizados. Exemplo: Windows 10, Ubuntu. Terminal – É uma Interface de Linha de Comando, isto é, uma interface (meio) para a pessoa enviar comandos ao computador. Editor de Texto – Um editor de texto é um aplicativo de edição de arquivos de texto. Isso inclui códigos de todos os tipos, que também são texto escrito num formato que o computador é capaz de entender. Compilador – Transforma o código de uma linguagem de programação para uma linguagem de máquina (ou alguma de nível mais baixo, ou seja, mais próxima do código binário que o hardware processa) que é lida pelo processador. Linguagem de máquina – Linguagem de mais baixo nível de entendimento para o ser humano, e a única, entendida pelo processador (CPU). Interpretador – Programas de computador que leem um código fonte de uma linguagem de programação interpretada, ou seja, convertida em código binário uma linha por vez, ao invés de grandes blocos de linhas de cada vez, e o converte em código executável. Browser ou Navegador – Programa desenvolvido para permitir a navegação pela web e visualização de suas páginas. Plugin – Uma extensão de código que pode ser adicionada a um código em que você está trabalhando. O plugin é uma extensão intrínseca ao contexto, por exemplo um plugin de um navegador: Ele não funcionará em outro navegador. Além disso, ele funciona consumindo código ou APIs da aplicação principal. GitHub Conceitos Git – Sistema de Controle de Versão (VCS) distribuído, ou seja, de uso compartilhado por várias pessoas de uma equipe, que faz o acompanhamento de mudanças em arquivos e pastas de uma aplicação. GitHub – Plataforma de hospedagem de código-fonte de uma aplicação com controle de versão usando o Git. Diretório – Um tipo de pasta do computador que pode ter dentro de si outros diretórios e arquivos. Branch – É uma ramificação do código do controle de versão, ou seja, uma versão alterada do código “principal” salvo lá. Índice – Funciona como uma área do git no qual os arquivos possam ser enviados ao GitHub. É como se fosse uma sala de embarque. Ações no Git Git fork – Comando que permite “copiar” um projeto em código aberto para si (cria um novo repositório que é uma cópia do projeto “forkado”). Git clone – Comando que permite copiar um repositório remoto da nuvem e colar na sua máquina local. Git merge – Comando usado para colocar as mudanças de uma branch em outra. Git fetch – Comando para pegar alterações dos seus projetos remotos. Git pull – Incorpora as alterações adicionadas a um repositrio remoto na branch atual. git pull = git merge + git fetch. Git add – Comando usado para passar a monitorar um novo arquivo no índice para um novo commit, ou adicionar ao índice as alterações mais recentes feitas a um arquivo. Git commit – Armazena o conteúdo atual do índice em um pacote de mudanças, juntamente com uma mensagem de registro da pessoa que as descreve. Git push – Comando em que você transfere commits do seu repositório local para um repositório remoto. Git branch – Comando para listar as branches locais. Git branch nome-da-branch-nova – Serve para criar uma nova branch. Git checkout – Você pode mudar de branch com esse comando ou limpar as alterações de arquivos mais recentes ainda não adicionadas ao índice. Pull Request – É um pedido que você faz para a administradora da branch que você quer modificar adicionar (puxar para si) a ela as alterações que você fez. Merge Pull Request – Inserir as alterações do código de uma Pull Request em sua branch “alvo”. Conceitos de programação Algoritmo – É basicamente um conjunto de passos para certa tarefa. Linguagem – Conjunto de definições (sintáticas e semânticas) usadas para fazer um texto que o computador é capaz de entender, ou seja, um programa de computador. Código – Conjunto de palavras ou símbolos contendo instruções para o computador. Código Fonte – Código de um programa. O computador o usa para gerar uma versão do programa que é capaz de processar. Código de Máquina – Código que a máquina consegue entender e executar. Código Binário – Código feito por apenas 0 e 1 que tem como função codificar algo. É a base de toda a lógica do computador. Tudo vira, no fim das contas, código binário. Bug – Problema no código que faz com que ele não execute sua função corretamente. Refatoração – Processo de alterar um programa para melhorar sua estrutura interna sem alterar o seu funcionamento. Essas melhorias podem ser de performance ou para facilitar trabalhos futuros neste código, por exemplo. Frameworks – São como coleções de ferramentas, componentes e soluções que você pode encontrar em um mesmo pacote (o framework) que facilitam a criação de aplicações complexas. Queries – Pedido de informação e/ou dados para banco de dados. Front-End – É a parte de uma aplicação web que a pessoa que utiliza, vê e interage. É executada pelo browser. Back-end – O que a pessoa que usa não vê num software, como servidores e banco de dados. Éo processamento “por trás dos panos”. Full-stack – Junção de Front-End e Back-End. SSL (Secure Sockets Layer) – É um tipo de segurança padrão para garantir que todos os dados sejam criptografados no trânsito entre um site e um navegador por exemplo. SOLID (Single-responsibility, Open-closed, Liskov substitution, Interface segregation e Dependency Inversion principles) – Esses princípios, quando combinados, são tidos como boas práticas para facilitar a quem programa desenvolver softwares que são mais fáceis de se manter e expandir. Front-End Biblioteca – Pedaços de códigos (como funções, por exemplo) já programados e que podem ser usados em outros códigos. A biblioteca é uma extensão de fora do contexto, ou seja, ela pode ser usada e desplugada de um contexto para outro. As bibliotecas são consumidas pela aplicação principal. React – Biblioteca JavaScript para criar o Front-End de aplicações. React Native – Framework de programação de aplicativos baseado na biblioteca React. HTML (Linguagem de Marcação de Hipertexto) – Uma linguagem de marcação que é utilizada como estrutura do Front-End de um site. CSS (Folhas de Estilo em Cascata) – É uma linguagem de estilo que define a aparência de documento web HTML. Exemplo: manipulação da posição dos elementos, cores, fontes, fundos, etc. JavaScript – É uma linguagem que viabiliza a criação de páginas interativas, ou seja, que são modificáveis de acordo com a interação de quem usa e que conectam o Front-End ao Back-End. https://blog.betrybe.com/carreira/full-stack/ https://blog.betrybe.com/desenvolvimento-web/react/ https://blog.betrybe.com/javascript/ AJAX (Asynchronous JavaScript And XML) – Técnica para acessar servidores web a partir, por exemplo, do Front-End ou de outros Back-Ends. jQuery – Biblioteca de funções em JavaScript que interagem com o HTML de uma maneira muito mais rápida e simples do que apenas pelo JavaScript. Bootstrap – Framework CSS. UI Design (Design da Interface do Usuário) – É o desenho e execução de uma interface para o usuário. Exemplo: Como garantir que um botão vai ser visto e vai ser apertado. UX Design (Design da Experiência do Usuário) – É o desenho e execução de uma experiência para o usuário. Como por exemplo, desenhar as ações que farão com ele se sinta bem ao entrar numa página, ou engajado, etc. Responsive design – O Design que assegura que o site será visto de uma forma diferente para diferentes tamanhos de tela. Adaptive design – Uma maneira de se construir um mesmo site que se adapta (muda) para cada dispositivo. Fluid Design – Design que acompanha o tamanho da tela do dispositivo que você está usando sem mudar a estrutura da página. Progressive Web App – Metodologia que busca fazer com que sites web e app tenham características de aplicativos nativos de dispositivos mobile, ou seja, feitos primariamente para eles. Back-End Servidores – Máquina onde roda o Back-End de um site, por exemplo. Ou um Back-End acessível a outras aplicações diversas. Node.js (node) – Interpretador para JavaScript. https://blog.betrybe.com/carreira/ux-design/ NPM (Node Package Manager) – Gerenciador de Pacotes (módulos) do Node.js. Middleware – Software que se encontra entre o sistema operacional e os aplicativos nele executados. Ou seja, é um software que permite a sistemas isolados e funções interagirem. Exemplo: Site com uma opção de pagamento. O que conecta os dois é um middleware. Express.js – Framework para Node.js que ajuda na criação de rotas, middlewares e muitas outras funções para o desenvolvimento tanto de APIs quanto SPAs (Aplicações de Uma Página). Banco de Dados – Agrupamento (em formato de tabelas, documentos, colunas e etc…) de informações que se relacionam e tratam de um mesmo assunto. Banco de Dados Relacional (SQL) – Banco de dados onde os mesmos são guardados em tabelas que possuem “relações” entre si. Por exemplo uma tabela de produtos e de compras. A tabela de compras pode ter vários produtos e um produto pode estar relacionado a várias tabelas. Banco de Dados não Relacional (NoSQL) – Quando o banco de dados não guarda os dados em tabelas, e sim em chave-valor, colunas, etc. SQL (Linguagem de Consulta Estruturada) – Linguagem de banco de dados relacional. Sistema de Gerenciamento de Banco de Dados (SGBD) – Responsável por gerenciar o acesso, a persistência, a manipulação e a organização dos dados. MySQL – O MySQL é um SGBD que utiliza a linguagem SQL. API (Applied Programming Interface) – Interface que conecta dois programas, realizando tanto a comunicação entre eles e especificando quanto definindo como devem interagir. Serviço Web – Solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes (é um programa web de Back-End, um tipo de API que necessariamente precisa de uma rede para se comunicar). Webhook – É uma forma de recebimento de informações quando um evento (enviar um email, por exemplo) acontece. Por isso o webhook é, na prática, uma forma de transmissão de informações entre dois sistemas passiva, pulando o passo de request (requerimento) que uma API faz. Basicamente: um sistema disponibiliza um canal para receber informações (o webhook) e outros enviam para esse sistema informações através dele. HTTP (HyperText Transfer Protocol) – Protocolo que especifica como clientes e servidores se comunicam entre si. REST (REpresentational State Transfer) – Estilo de arquitetura de serviços web que padroniza algumas características tidas como boas práticas. Restful – É uma aplicação web que realiza a implementação do padrão REST. CRUD (Create, Read, Update and Delete) – Quatro operações básicas de interação com uma base de dados (criação, consulta, atualização e destruição de dados). Deploy de Aplicação Web Aplicações Web – São sistemas que executam em ambientes distribuídos (onde as partes do sistema podem executar em máquinas diferentes) chamadas servidores, comunicando-se via protocolo HTTP ou HTTPS (Protocolo Seguro). A interface com a pessoa que utiliza é realizada pelos navegadores. Na prática, exemplos comuns de aplicações web, são nossos sites de comércio eletrônico, notícias, redes sociais, buscadores (como o Google), etc. Deploy – O Deploy consiste no processo que coloca uma aplicação no ar, tornando-a acessível a quem usa. QA (Quality Assurance) – Conjunto de atividades exercidas para que o produto ou serviço oferecidos sejam de qualidade. Avaliando o código e a lógica Code Climate Code Climate (CC) – Programa que lê um código e analisa a forma como foi escrito em busca de pontos de melhoria. Ele faz isso analisando o seu código fonte contra algumas regras de código e estilo que verificam como o código foi escrito. Cognitive Complexity – É uma medida de quão difícil é para uma pessoa entender o código. Cyclomatic Complexity – Métrica que mede a quantidade de caminhos independentes pelo código e assim, também, medindo o quão difícil testá-lo. Linter – Ferramenta que analisa o código fonte em busca de erros, problemas de estilo e construções tidas como problemáticas do ponto de vista de desenvolvimento. Code Smell – Característica de um código que o faz suspeito de possuir ou se tornar causador de problemas no futuro. Travis Continuous Integration (CI) – Prática de colocar em produção, de forma automática, as novas modificações feitas pelos colaboradores do projeto de forma contínua (em geral, uma vez por dia no mínimo), ou seja, continuamente e sem a necessidade de períodos fora do ar. Testes automatizados – O teste automatizado de software é um programa que executa testes pré-programados em um aplicativo de software antes de serem liberados para deploy. Code Review Code Review (CR) – A Code Review (revisão de código) é uma prática da engenharia de software que ajuda a garantir a qualidade do código. Essa prática consiste basicamenteem, um ou mais desenvolvedores podem comentar no código de outro. TDD Test Driven Development (TDD) – Desenvolvimento Orientado por Testes. Técnica de desenvolvimento em que a produção e o deploy do software é baseada em testes. Teste Unitário – Testes isolados entre si que são feitos com pequenas unidades de códigos para validar seu funcionamento. Mock – Programa que serve para simular outros códigos. São muito usados para garantir isolamento de testes unitários. Programação Habilidades Hardskills – Habilidades Técnicas (por exemplo, programar em JavaScript). Softskills – Competências comportamentais (por exemplo, saber criticar e receber críticas, saber se explicar, saber criar boas relações com as pessoas). Mindsets e Metodologias Práticas Pair programming – Técnica do desenvolvimento ágil de software onde duas pessoas utilizam um mesmo computador, para programar alguma tarefa. Sprint – Ciclo de tempo dentro do qual se realiza um conjunto de atividades. Kanban – Sistema simples e visual de organizar as tarefas e o fluxo de trabalho. Ágil – Conjunto de métodos e princípios que consiste na ideia de desenvolvimento iterativo (isto é, onde requisitos e soluções são https://blog.betrybe.com/soft-skills/ identificados e cumpridos de maneira cíclica) a partir da colaboração de times auto-gerenciáveis e multifuncionais. Scrum – Framework para gestão e planejamento de produtos e projetos. MVP (Produto Mínimo Viável) – Maneira de se testar modelos de negócios e conceitos diretamente com o cliente, a partir do lançamento de uma versão mínima viável do produto. Exemplo: Em vez de fazer um site como o que a Airbnb, os fundadores fizeram um site simples com poucas funcionalidades. Papéis Product Owner (PO) – Pessoa responsável por definir quais as prioridades do product backlog e registrar de todos os requisitos, regras de negócio e prioridades das entregas de um produto. Regras de Negócio – Requisitos de como uma determinada funcionalidade ou produto deveria se comportar dado um determinado critério. Scrum Master – É a pessoa responsável por garantir que todos estejam aderentes ao processo de desenvolvimento, que sigam suas cerimônias e que garantam a organização e realização dos seus artefatos. Dev. Team – Time de desenvolvimento (pessoas que colaboram com o projeto). Cerimônias As cerimônias são os rituais, reuniões e eventos que acontecem em um local de trabalho, estudo ou convivência de modo geral. Geralmente, empresas mais tecnológicas têm bem estruturadas quais são suas cerimônias e o porquê de cada uma delas. Alguns exemplos são: Daily Meeting (DM) – Reunião diária de dez a quinze minutos para saber o que se fez no dia anterior, o que se vai fazer no dia seguinte e o é impedimento seu para fazer isso. https://blog.betrybe.com/carreira/metodologia-scrum/ Grooming – Reuniões sobre como melhorar o Product Backlog. Planning – Reunião onde se descreve as funcionalidades de maior prioridade (e que devem ser feitas) para a equipe para o próximo sprint. 1:1 – Reunião periódica entre uma pessoa que gere o time e uma pessoa liderada. Artefatos Product Backlog – O que está para ser feito no produto. Sprint Backlog – O que está para ser feito na sprint. Definição de Pronto – O como que o time define o que foi feito. Incremento – O que foi feito e gerou valor ao usuário. Agora que você já aprendeu boa parte dos significados do mundo da tecnologia, vale a pena salvar esta publicação nos favoritos e recorrer a ela sempre que surgir alguma dúvida, principalmente para aqueles que estão inciando seus estudos. O que achou de conhecer esses termos de tecnologia? Se você gostou do conteúdo e deseja acompanhar as atualizações, não deixe de conferir nossas redes sociais. Estamos no Facebook, Instagram e Twitter. Você sabe o que é um GIT? Já ouviu algum programador dizendo que subiu o projeto no GitHub? A área da programação é cheia de termos e siglas que confundem quem não é do meio — às vezes até quem é. Para te ajudar a entender melhor todo esse universo e a ser ser capaz de conversar fluentemente com um programador, preparei um dicionário com os principais termos e siglas da área. Confira! https://blog.betrybe.com/carreira/o-que-e-backlog/ https://www.facebook.com/betrybe https://www.instagram.com/betrybe/ https://twitter.com/betrybe https://github.com/usemobile API Uma API (Application Programming Interface) é um conjunto de comandos, funções, protocolos e objetos que os programadores podem usar para criar softwares ou interagir com sistemas externos. Ela fornece aos desenvolvedores comandos para executar operações comuns para que eles não tenham que escrever um código do zero. APIs são tipo “pontes” que servem para conectar e facilitar a comunicação entre aplicações. As APIs podem ser utilizadas pelos mais variados tipos de negócios e por empresas de diversos tamanhos. Algoritmo Os algoritmos podem ser entendidos como um conjunto de regras, raciocínios ou operações finitas para executar uma ação. Lembra aquele passo a passo para fazer um bolo que sua avó anotava no caderno de receitas? Algoritmos é tipo isso! Veja também: como funciona os algoritmos nas redes sociais. Front- End Front-End é toda a parte que a gente vê, tudo que está na frente. Desenvolvedores Front-End são responsáveis por tudo aquilo que um usuário faz na frente de uma tela (arrastar o dedo para trocar de tela, pressionar um botão, etc…). https://usemobile.com.br/o-que-e-uma-api/ https://usemobile.com.br/algoritmos-nas-redes-sociais/ Back-End Se você pensou “já que o ‘front’ é a frente, o ‘back’ está por trás”, seu pensamento está correto. O desenvolvedor back-end é quem irá manejar o banco de dados e integrar a comunicação do front com as informações armazenadas. Programadores Back-End são os responsáveis por fazer a magia que acontece “por trás dos panos”. Bug Bug é um erro ou falha que ocorre e faz com que os programas não se comportem exatamente da maneira esperada. Também é muito conhecido como “dar pau”. Chatbot São programas de computador equipados com inteligência artificial capazes de entender a linguagem humana, tanto escrita como falada, e responder de forma humanizada. São como aqueles atendentes de empresas telefônicas. Codar Nada mais é do que programar. Diretório São as pastas do seu computador. Debugar Processo lento de encontrar e remover bugs no seu sistema, ou até mesmo no hardware. Framework Frameworks são como templates prontos que podem ser usados em diferentes projetos (back e front-end, mobile etc), reduzindo o tempo gasto para produzir uma aplicação. Full-Stack Programador full-stack é aquele que atua em várias partes do projeto, ele entende tanto de back-end como de front-end e usa várias tecnologias. Usando uma analogia simples, o programador Full-Stack pode ser comparado com aquele cara que compõem, grava, edita e cria a capa do cd. Git Git é uma ferramenta de controle de versão de arquivos que permite o trabalho colaborativo sem a necessidade de enviar arquivos diferentes e renomeados por e-mail. Com o Git também é possível saber detalhadamente quem fez cada alteração no arquivo. Hardware Hardware é a parte física do computador (peças e equipamentos que fazem o computador funcionar). https://usemobile.com.br/framework-desenvolvimento-aplicativos-2019/ Software Software é toda a parte interna de um computador ou dispositivo mobile (programas, códigos, aplicativos e etc). Existe um ditado que diz que hardware é aquilo que a gente chuta e software é o que a gente xinga 😂. Aplicativo Nativo São aplicativos construídos em uma linguagem exclusiva para uma determinada plataforma (Android, iOS, Windows etc). Web Apps Web App não é um aplicativo real e não está disponível nas lojas de aplicativos. É um sitedesenvolvido exclusivamente para dispositivos móveis. Aplicativo Híbrido São aplicativos desenvolvidos tanto para Android quanto para iOS com um código fonte unico usando algum framework. Outsourcing de TI A palavra outsourcing significa terceirização, logo outsourcing de TI é a contratação de empresas para realizar serviços ligados à Tecnologia da Informação. Outsourcing Onshore O termo onshore representa a terceirização de serviços a partir do mesmo país. https://usemobile.com.br/outsourcing-ti/ Outsourcing Offshore Offshore é o oposto de onshore, ou seja, trata-se de contratos com empresas de outros países. Outsourcing Nearshore Como a tradução de “near” já diz, este modelo visa a contratação de prestadores de serviço em países próximos. UI Design UI é área do Design que elabora, cria e planeja o meio pelo qual o usuário interage em um determinado dispositivo. UX Design UX Design trabalha a experiência do usuário. É parte do Design que pensa exclusivamente na relação do usuário com o produto ou serviço. Há uma analogia citada por Dain Miller em um artigo que explica melhor esses dois termos: “UI is the saddle, the stirrups, and the reigns. UX is the feeling you get being able to ride the horse, and rope your cattle.” (“UI é a sela, os estribos e os reinados. UX é a sensação de que você consegue montar o cavalo e amarrar seu gado.”) Features Feature é uma funcionalidade do sistema que entrega um recurso extra ou resolve um problema. https://www.webdesignerdepot.com/2012/06/ui-vs-ux-whats-the-difference/ Um cadastro de usuário é uma feature, exportar um arquivo, imprimir um documento é uma feature etc. DevOps DevOps é um modelo de trabalho que integra as áreas de desenvolvimento e infraestrutura em TI, além da automação das tarefas repetitivas e da criação de uma cultura ágil. Para entendermos melhor o conceito de DevOps, podemos usar como analogia o jogo do Super Mário. O DevOps é quando você consegue pegar a estrelinha e passa a executar as tarefas bem mais rápido que o normal. ASO ASO é a sigla para App Store Optimization, isto é, técnicas de otimização de busca nas lojas de aplicativos. O ASO que irá aumentar a exposição e visibilidade do seu app, expandindo as chances de descoberta pelos usuários. Gateway de pagamento Um gateway de pagamento é, basicamente, uma API que gerencia transações online, como se fosse uma maquinha de cartão virtual. SEO SEO (Search Engine Optimization) são técnicas para fazer com que um determinado conteúdo apareça no Google e demais buscadores. MVP Produto mínimo viável ou MVP trata-se de um produto que fornece apenas o serviço mais importante primeiro. Como se fosse uma “versão teste” de um produto. O MVP pode ser aprimorado de acordo com que as ideias forem surgindo e quando tudo estiver pronto, ele se torna um produto consolidado. https://usemobile.com.br/o-que-e-devops-melhores-ferramentas-2/ https://usemobile.com.br/o-que-e-devops-melhores-ferramentas-2/ https://usemobile.com.br/aso-app-store-optimization/ https://usemobile.com.br/aso-app-store-optimization/ https://usemobile.com.br/gateway-de-pagamento/ https://usemobile.com.br/gateway-de-pagamento/ https://usemobile.com.br/como-criar-um-app-mvp/ https://usemobile.com.br/como-criar-um-app-mvp/ Clean code Clean Code — ou código limpo — é uma filosofia de desenvolvimento que visa aplicar técnicas simples que facilitam a escrita e leitura de um código. Default Default refere-se a um valor ou característica pré-definidos. Então, quando não há uma instrução, o default é aplicado. É como quando você abre o Google Docs: se você não definir nenhuma característica, seu documento será todo escrito em Arial no tamanho de fonte 11, pois este é o padrão pré- definido.. Linguagem de marcação Entenda a linguagem de marcação como os sinais de trânsito. As tags da linguagem servem para orientar o que se trata determinado elemento. O Google sabe que essa explicação é um parágrafo, pois no código está sinalizado que se trata de um com a tag <p>. O mesmo vale para os demais elementos da web. Linguagem compilada Linguagem compilada é uma linguagem de programação que necessita de um programa especial para ser executada em um computador. Uma boa analogia para se entender é o processo de dublagem de filmes. Todos os filmes geralmente são produzidos no idioma nativo de um país. Quando esse filme vai ser comercializado em um país com idioma diferente, todas as falas do filme são traduzidas e/ou dubladas, trocando o áudio original (que não entendemos) para um outro áudio em nosso idioma (que somos capazes de entender). É exatamente isso que o programa compilador faz com a linguagem, traduzindo-a num idioma acessível à máquina que irá executar o código. Nuvem Nuvem é uma tecnologia que permite o acesso a programas, arquivos e serviços por meio da internet, logo, tudo pode ser acessado remotamente. IDE IDE (Ambiente de Desenvolvimento Integrado) é um software para escrever códigos que contém utilitários que auxiliam no desenvolvimento das aplicações, facilitando diversos processos, pois esse ambiente combina ferramentas comuns em uma única interface gráfica do usuário. O ambiente de desenvolvimento integrado é como se fosse aquele estojo escolar que toda criança queria ter, aquele que tinha tudo em um único lugar, canetas coloridas, tintas, lápis de cor, giz de cera, apontador, borracha e outras tranqueiras. Por fim, E aí, conseguiu entender todos os termos e siglas? Esse dicionário foi feito para descomplicar os termos mais usados pelos nossos amigos devs. As definições apresentadas são superficiais e servem para ajudar pessoas de outras áreas e leigos a entenderem melhor o assunto, assim como eu. Você conhece algum outro termo ou sigla que merece entrar no dicionário? Comenta aqui! Quer ficar por dentro do que acontece nesse universo? Então não deixe de acompanhar nosso blog e se inscreva na nossa newsletter. Variáveis As variáveis são elementos que armazenam algum tipo de valor. Sua utilização visa a fornecer informações à aplicação que se utilizará delas para realizar alguma tarefa. Exemplo: int anoDeAniverário = 1986; char nomeEstudante = “Rafaela”; float numeroAproximado = 12.152 Variáveis Locais e Globais Durante o desenvolvimento de um aplicativo, é responsabilidade do programador, determinar quais funções ou métodos terão acesso a algumas variáveis para evitar erros de cálculos e operações, então toda linguagem orientada a objetos, possui um controle para determinar quem ou quais funções ou métodos terão acesso a alguma variável. Variáveis Globais Uma variável global é determinada pela possibilidade de ser acessada de qualquer ponto do programa (código fonte) por qualquer função ou método. Não tendo restrições ou controles de acesso. Por este motivo seu uso deve ser sempre muito bem observado pelo programador. Variáveis Locais Uma variável local é caracterizada por ter seu acesso (poder ser alterada ou lida) limitado dentro da declaração de uma classe, método ou função. Sendo acessível somente dentro do local em que foi criada/declarada. Variável de Instância ou iVar Uma variável de instância, é aquela que já esteja dentro de um objeto. Em termos gerais, é uma variável em um objeto/instância de uma classe em uso em runtime. É a variável que somente podem ser acessadas pelo objeto da própria classe, que também a herda quando se cria uma subclasse, ou seja, a subclasse recebe essa variável de instância com as mesmas configurações que ela foi criada na classe pai. Tipos de Variáveis Quando se cria uma variável, é necessário informar que TIPO de informação que ela irá armazenar/conter, isto determina o tipo da variável. Existem os tipos escalares ou tipos primitivos, em que são herdados da Linguagem C que são: int – Armazena números inteiros.Exemplo: int tamanhoTenis = 36; float – Armazena números fracionários. Exemplo: float kilometroCidade = 357.52; bool – Armazena valores lógicos. Exemplo: bool verdade= YES; bool negacao = NO; string – Armazena uma sentença de caracteres: string fraseDita = @”Adoro programar”; As variáveis escalares são efêmeras e não constituem mais um foco ideal para se programar, sendo que Obj – C possui um conjunto melhor de tipos para atender melhor a construção e a velocidade de desenvolvimento do projeto. Exemplo: Em vez de declarar uma string deste modo: string *modeloAntigo = @”Modo antigo de declarar”; É feito uma declaração com base em uma classe string que possuem métodos que podem dinamizar o tratamento do conteúdo da variável, ficando assim: NSString *melhorModo = @”Melhor modo de armazenar uma string”; Isto não se restringe somente a esses tipos possuindo também NSNumber, id, NSDate e muitos outros. Casting ou Conversão de Tipos Em muitos momentos é necessário mudar o tipo de dado contido ou apontado por uma variável para atender uma tarefa interna de processamento ou uma solicitação do usuário. Por exemplo, você pode criar um aplicativo calculadora. A entrada digitada pelo usuário será armazenada em variáveis que do tipo string e posteriormente para finalidade de calcular o valor ele é convertido para o tipo int, e o resultado da operação é convertido novamente para tipo string para ser exibido na tela. Ponteiros Os ponteiros são operadores utilizados para apontar o endereço de um dado/informação na memória. Eles são usados rotineiramente na criação de variáveis que armazenam textos e é representado pelo sinal de asterisco ( * ). Exemplo: NSString *nomeDoPais; Atributo É chamado de atributo os dados contidos dentro de uma classe, sendo as variáveis das mesmas. Em alguns textos os atributos são vistos como os dados passados de uma operação para outra, ou seja, são vistos como argumentos. Mas sua idéia geral é a de que são os dados pertencentes a uma Classe. Sintaxe A sintaxe, é como se escreve em uma linguagem de programação. Algumas linguagens de programação são bastante parecidas na maneira como se escrevem. Sendo até mesmo possível entender um código escrito em uma linguagem mesmo se o programador seja “fluente” em outra. Exemplo: C e C++, Java. Métodos e Funções Funções e métodos, são os nomes atribuídos a um conjunto de instruções. Algumas linguagens de programação mais antigas eram procedurais, ou seja, as instruções eram colocadas em sequência e o computador as seguia em uma sequência top-down. Com a criação de novas linguagens que incorporavam novas técnicas/metodologias surgiu então a possibilidade de agrupar essas instruções em blocos, que são executados conforme são chamados ou quando uma mensagem é enviada a um objeto solicitando a utilização desse conjunto de instruções. O termo função é mais utilizado pois foi um dos termos mais utilizados para se designar esse conjunto. E é o termo utilizado na Linguagem C e em outras. Algumas linguagens usam o termo Procedure(Pascal). Mas sua utilização é a mesma. O termo Método veio ser mais utilizado ultimamente devido a terminologia utilizada pelos desenvolvedores que utilizam a filosofia da Programação Orientada a Objetos, sendo assim o termo Método usado em linguagens como Java, C++, Objective-C, C# e outras. Em uma visão geral pode-se dizer que função ou método é um grupo de instruções, e como são encapsuladas em blocos, elas podem ser executadas assim que forem solicitadas. Exemplo 1 2 3 4 5 6 7 8 9 10 11 12 13 -(void)somaNumeros{ int numeroPrimeiro = 15; int numeroSegundo = 30; int resultado; resultado = numeroPrimeiro+numeroSegundo; NSLog = (@"%@",resultado); } Este método criou duas variáveis já inicializadas com seu valores e criou uma variável vazia. Depois realizou uma operação de soma armazenando o resultado na variável resultado e em seguida imprimiu o resultado na tela do console de debug do xcode. Assinatura de um método nome do método Um método pode ser identificado pela sua assinatura, e sua assinatura é constituida pelos seguintes elementos: tipo de método + nome do método+ tipo de suas variáveis+nome de suas variáveis. Exemplo: Assinatura de Método -(NSString *)colocaEmMaiusculo:(NSString *)palavrasRecebidas; Exemplo: Nome do método colocaEmMaiúsculos:palavrasRecebidas: A maneira como se cria o nome dos métodos, assim como se cria as variáveis é para que elas dêem um melhor entendimento do que eles fazem para quem estiver lendo o código. Importante lembrar que o sinal de dois-pontos ( : ) também constitui o nome do método. Argumentos e Parâmetros Argumentos ou parametros em programação, são informações enviadas para que um método realize uma operação sobre eles e retornam ou não o resultado. Exemplo: NSString *nome = [NSString alloc]initWithString:@”tiago”]; ClasseMinha *alteradorDePalavras = [ClasseMinha alloc]init]; [alteradorDePalavras colocaEmMaiusculo: nome]; [alteradorDePalavras release]; Neste exemplo, criamos uma variável chanada de ‘nome’ do tipo NSString que é inicializada com a string “tiago”. Depois criamos um objeto da classe ClasseMinha, em seguida enviamos a variável nome para o método colocaEmMaiuscolo do objeto em forma de argumento do método. Isto é chamado de passagem de argumento ou parametro para um método. Framework O framework é dentro de um ambiente de programação, um conjunto de classes e outras técnicas que possibilitam a especialização na criação de programas. Por exemplo quando se quer criar um jogo, é utilizado um conjunto de bibliotecas voltadas para controle de física, colisões, controle de áudio e etc. Esta biblioteca voltada para a criação de jogos pode ser chamada de framework. Existem diversas frameworks nas linguagens de programação. Compilar Compilar é a ação que o SDK tem de traduzir tudo que o programador estabeleceu no código fonte em instruções onde o computador possa entender e seguir, gerando assim o código de máquina plausível para a arquitetura para a qual ele está fazendo o programa. Runtime ou Tempo de Execução Em muitos casos, todos os programadores vão notar anomalias, ou eventos no funcionamento de seus programas que só poderão ser percebidos no momento em que o programa esta sendo executado, e que o SDK não pode perceber na interpretação do código. Este momento em que o programa está em uso no computador, celular, simulador é chamado de runtime, ou tempo de execução.
Compartilhar