Por que eu devo ler este artigo:Desenvolvimento de software é uma ciência em constante evolução. Ao longo dos últimos anos, presenciamos transformações significativas nesse mercado, impulsionadas principalmente pelo fenômeno do DevOps. Nesse contexto, o Eclipse Che é uma plataforma que, embora incipiente, apresenta um enorme potencial para redefinir o conceito de colaboração em projetos de software, englobando não apenas equipes técnicas, mas todos os demais profissionais envolvidos. Neste artigo, abordaremos os fundamentos desse novo IDE e sua arquitetura, e avaliaremos, por meio de um tutorial, os principais recursos por ela oferecidos.
Durante os últimos anos, o que se nota no mercado de
Tecnologia da Informação é o esforço para diminuir um vazio histórico entre as áreas
de Operação e Desenvolvimento. Inúmeras tecnologias foram — e continuam a ser —
anunciadas no sentido de viabilizar, tecnicamente, a realização desse objetivo.
Plataformas como Docker e Vagrant, por exemplo, estão cada
dia mais sólidas e difundidas entre os profissionais de nossa área, e já cumprem
o importante papel de tornar o provisionamento de recursos computacionais mais
simples e gerenciável. Da mesma forma, os IDEs e as linguagens de programação, assim
como ferramentas periféricas (como as de revisão de código, versionamento e gestão
de projetos), seguem em marcha ascendente de evolução, adequando-se às
transformações do mercado. Vivemos, indubitavelmente, um momento muito especial,
em que a ânsia por maior produtividade e eficiência tem ditado um expressivo
progresso em praticamente todas as disciplinas associadas à Engenharia de
Software.
Entretanto, por mais que surjam poderosos arsenais
tecnológicos para tornar o cotidiano do desenvolvimento e operação de software
mais produtivo, o velho e conhecido problema da configuração de ambiente ainda é
um dilema a ser superado. Não há dúvidas que as tecnologias de provisionamento de
recursos já citadas simplificam e aceleram muito a configuração de ambientes,
mas o fato é que essa ainda é uma atividade que, especialmente no dia a dia dos
desenvolvedores, é exercida de forma muito individualizada. O popular discurso
do “funciona na minha máquina” continua muito frequente, evidenciando que ainda
há espaço para evoluirmos nesse campo.
Eclipse Che é uma plataforma que, embora semelhante a outras
em inúmeros aspectos (tais como Eclipse Oomph ou Eclipse Flux, cujas
referências se encontram na seção Links),
diferencia-se por incluir os runtimes na
composição de um workspace. Ao longo
deste artigo, entenderemos o quanto essa característica em particular é fundamental,
e aprenderemos, também, como instalar, configurar e utilizar essa plataforma,
tanto em contexto local quanto remoto.
A história por trás do Eclipse Che
A origem da jornada, que culminou na ideia e construção do
Eclipse Che, está na iniciativa de um cientista da computação chamado Tyler
Jewell, motivado especialmente por uma inquietação pessoal. Em suas
apresentações em eventos como o EclipseCon (veja referências na seção Links), Jewell relata que, entre 2003 e
2010, alcançara uma posição de destaque em sua carreira, inicialmente na área
técnica e, em seguida, gerencial. Entretanto, precisou se afastar de suas atividades
profissionais durante nove meses por motivos de saúde.
Ao recuperar-se, sentiu o desejo de resgatar o período em
que atuava exclusivamente na área técnica. Frustrou-se, segundo ele, ao não ser
capaz de, após uma semana de trabalho, montar um ambiente relativamente
simples, composto por um projeto web e um servidor de aplicações. Esse
sentimento foi suficiente para provocar nele o pensamento de que, talvez, os
principais problemas associados à colaboração em projetos de software fossem
resolvidos caso qualquer membro, não necessariamente técnico, conseguisse dar
sua parcela de contribuição sem precisar realizar qualquer setup de ambiente
por conta própria.
O próximo passo, no raciocínio de Jewell, foi buscar a
resposta para o que seria o conjunto mínimo de elementos para que uma
colaboração ocorra. Ao final desse exercício, a lista era composta por: um IDE,
arquivos do projeto em questão e, naturalmente, ambientes que permitissem
validar a contribuição em si. Outro ponto importante é que todos esses itens,
combinados no contexto de uma colaboração, deveriam ser entendidos como o
workspace em si, cujas características e estado fossem armazenáveis e
controláveis para, em seguida, ficarem acessíveis aos demais membros do
projeto.
O caminho seguido por Tyler apontava requisitos que já eram
cobertos por algumas plataformas existentes àquela época, como o Eclipse Oomph
ou o Eclipse Flux (veja a seção Links).
Entretanto, havia algo de muito inovador em seu conceito, que tornava essas
mesmas soluções citadas incompletas. Ainda que todas apresentassem propostas convincentes
para atividades como sincronização e compartilhamento de workspaces, nenhuma considerava
runtimes como integrante do workspace
em si. Portanto, embora workspaces já pudessem ser compartilhados, a
complexidade de setup de ambientes ainda era delegada a cada colaborador.
Eclipse Che surgiu, portanto, como uma proposta de tornar workspaces
realmente universais, extinguindo as barreiras naturais de desenvolvimento e
operação de projetos de software com as quais convivemos até os dias de hoje. Ao
longo das próximas seções deste artigo, entenderemos melhor esse conceito de
universalidade e o modo com que ele é colocado em prática na arquitetura e no
uso da plataforma em si.
Antes de encerrarmos esta seção, no entanto, acabaremos com
a curiosidade que, provavelmente, perdura na cabeça da maioria dos leitores até
aqui: afinal, de onde vem o nome Che?
Antes de darmos asas à nossa imaginação, antecipamos que a razão é bastante
simples e não carrega consigo nada de lúdico: trata-se, apenas, de uma
referência à cidade de Cherkasy, na Ucrânia, na qual boa parte do
desenvolvimento da plataforma é realizada.
O conceito do workspace universal
Conforme vimos na seção anterior, o aspecto inovador do
Eclipse Che está no modo como ele define o workspace. Sua universalidade, citada
por Tyler Jewell, materializa-se essencialmente através dos pontos listados a
seguir:
Runtime
embutido: ambientes usados para executar o projeto são embutidos no
workspace, retirando do colaborador a responsabilidade de configurá-los;
Colaborativo:
Che é, sobretudo, um servidor de workspaces. Ele não apenas permite que armazenemos
e gerenciemos workspaces em servidores, mas possibilita seu compartilhamento,
dando a outros colaboradores a chance de utilizá-los para fins como desenvolvimento,
demonstração (live demos), revisão de
código, entre outros;
Programável:
tanto o servidor quanto cada workspace possui a sua própria API RESTful, empregada
tanto no uso quanto na administração de cada componente da plataforma. Geradas
a partir de um framework extremamente popular chamado Swagger, as APIs RESTful são
o meio pelo qual são invocados os inúmeros microsserviços implantados no
servidor;
Versionável:
a partir do uso de tecnologias como Docker, a configuração de ambientes se
torna declarativa, por meio de documentos denominados Dockerfile. Como o conteúdo desses arquivos é puro texto, versioná-los
torna-se uma tarefa simples, habilitando-nos não somente a controlar a evolução
do produto em si, mas também o histórico de todos os ambientes usados desde o
desenvolvimento até a homologação de todas as versões do produto;
Extensível:
o SDK do Eclipse Che nos possibilita escrever extensões (plug-ins) tanto para o
IDE quanto para o servidor ou, ainda, workspaces. Podemos, portanto,
desenvolver tanto agentes que atuam diretamente no gerenciamento de workspaces
e projetos quanto novas janelas e perspectivas para enriquecer a experiência de
usuários por meio do IDE. O desenvolvimento de extensões não será, entretanto,
abordado ao longo do texto;
Alguns termos que acabamos de usar podem, neste momento,
soar um tanto confusos, mas é natural que seja assim. Na próxima seção, estudaremos
as principais características da arquitetura da plataforma e, então, todos
esses conceitos serão devidamente apresentados e contextualizados, fechando o
raciocínio em torno de seus significados e importância.
A arquitetura do Eclipse Che
A arquitetura do Eclipse Che se baseia em três entidades
fundamentais, sendo elas:
Browser (ou cliente), que apresenta o IDE e se
utiliza da API oferecida pelo servidor;
Servidor, que hospeda a parte servidora do IDE e
outras aplicações web (tais como o Dashboard), além de administrar os
workspaces;
Workspaces, que são os diversos espaços de
trabalho existentes no domínio.
Cada um desses elementos citados, ilustrados na Figura 1, será brevemente introduzido
nos tópicos seguintes.
Figura 1. Diagrama
com arquitetura do Eclipse Che – Fonte: Eclipse.
Browser
O IDE do Eclipse Che é, em linhas gerais, uma aplicação web projetada
para se comportar d ...
Oferta válida para todos os planos durante o mês de dezembro
+3 MESES
Grátis
Veja os resultado dos nossos alunos
Conquistas reais de quem está aplicando o método
<Perguntas frequentes>
Carreira
Por onde devo iniciar os estudos?
Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.
Em quanto tempo vou me tornar um programador?
O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.
Eu preciso de um diploma de faculdade para começar a atuar como programador?
Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.
Por que a programação se tornou a profissão mais promissora da atualidade?
A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.
Metodologia
Quais são os principais diferenciais da DevMedia?
Didática e Metodologia
Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios
Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno
Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação
A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.
O que eu irei aprender estudando pela DevMedia?
Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.
Quais as vantagens de aprender programação através da linguagem JavaScript?
Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens
A plataforma oferece certificados?
Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.
A plataforma tem suporte ao aluno, como funciona?
Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.
A DevMedia me forma como programador Full Stack?
Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!
Tem horário para as aulas?
Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.
Por que a DevMedia não usa videoaulas em sua didática?
Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.
Preciso de um computador específico para estudar na DevMedia?
Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.
Eu consigo estudar pelo celular?
Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.
A DevMedia tem aplicativo?
Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.
Preciso estar na faculdade para acompanhar os estudos na DevMedia?
Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.
Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?
Oferecemos o plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX
Adquirindo o plano, terei acesso a todo o conteúdo?
Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.
A plataforma tem planos vitalícios?
Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.
A DevMedia tem fidelidade?
Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.
Como funciona o cancelamento?
Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.
Cadastro
Como excluir meus dados da plataforma?
Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.
Compartilhe esse conteúdo com um amigo!
Faça login para ganhar recompensas.
Ou
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.