Refactoring rápido e confiante
Refactoring-fazendo mudanças significativas na base de código existente, às vezes sem alterar o comportamento externo do código—é muitas vezes uma parte “perigosa” do desenvolvimento, porque é tudo muito fácil de quebrar algo. Em linguagens funcionais e imutáveis como Elixir, no entanto, refactoração e testes são muito mais simples. Você pode fazer mudanças radicais sem medo de acidentalmente tornar as coisas piores.
Muito, Nós Praticamos o desenvolvimento mais orientado (TDD)., Todos os testes são escritos antes de escrever uma única linha de código. Uma vez que estes testes (espera-se) falham, você escreve o código que os faz passar. Este processo garante que você tem testes para o seu código, o que torna o refactoring fácil e rápido.
linguagem de processo
ser capaz de paralelizar cargas de trabalho e usar vários processos é nativo de Elixir, uma característica que herda de Erlang.
Normalmente, o código que é único-roscado em linguagens como Java e não destinado a lidar com cargas elevadas terá de ser reescrito uma vez que o serviço começa a escalar., Em Elixir, você precisará fazer algumas mudanças aqui e ali, mas muito menos do que em outras linguagens de programação.
Elixir faz uso do framework Phoenix, um framework web escrito em Elixir para desenvolvedores de Elixir. Com a Phoenix, cada pedido é dado o seu próprio processo que é extremamente rápido com uma pegada de memória baixa. Isso permite que você crie milhares de processos rapidamente sem se preocupar com seu impacto no desempenho.
Parallelismo vs. concorrência
Sistemas Paralelos podem ter problemas de latência e de resposta porque uma única tarefa exigirá muito poder computacional., No Elixir, no entanto, o scheduler do processo irá alternar o controle preventivamente para um processo diferente. Mesmo quando sua aplicação está sob uma carga extrema, um único processo lento não pode impedir todo o sistema.como resultado, o Elixir quase garante baixa latência para a sua aplicação. Isto é muito importante para aplicações web modernas que precisam fornecer uma experiência consistente para todos os visitantes.
tolerância a falhas
com muitas linguagens de programação, um erro num processo fará com que toda a sua aplicação caia e falhe. No Elixir, no entanto, o fracasso é contido a um único processo., Se um usuário de uma aplicação web fizer um pedido com um bug nela, esse processo irá falhar, mas todos os outros usuários continuarão conectados. O Elixir permite-lhe limitar o” raio de explosão ” quando um processo falha.quando deve utilizar Elixir?
primeiro, vamos discutir quando você não deve usar Elixir. Sistemas que são ligados por uma tarefa inerentemente sequencial não são uma boa combinação para Elixir. Se uma tarefa individual é difícil de computar e requer um poder de CPU sério, como problemas matemáticos avançados, então você deve olhar para outra linguagem de programação.,
no entanto, quase qualquer caso de uso que não seja ligado a CPU, e não inerentemente sequencial, é provavelmente um bom ajuste para o Elixir. Em particular, Elixir funciona bem para sistemas que são de alto tráfego, têm muitas conexões,ou são ligados I / O. Esta descrição aplica-se a muitos casos de uso moderno: backends de chat (por exemplo, mensageiro do Facebook e Whatsapp), servidores web, APIs, aplicações web, e muito mais.as linguagens de programação de baixo nível como C têm sido tradicionalmente a escolha preferida para o desenvolvimento da IoT (Internet das coisas)., Embora essas línguas de baixo nível são poderosas e lhe dão um monte de controle, eles também são difíceis de trabalhar com e fácil de falhar.o Elixir pode também ser usado em firmware IoT embutido usando o sistema nervoso. Como uma linguagem de alto nível, Elixir permite que você escreva código de alta qualidade mais rapidamente. Aqui em Very, por exemplo, recentemente usamos Elixir para construir um quiosque de cerveja IoT auto-servido polvilhado pelo reconhecimento facial. Dada a nossa experiência com inúmeros clientes, vemos um caso convincente para o uso de Elixir e nervos no processo de desenvolvimento de aplicações IoT.,Elixir é uma linguagem de programação poderosa e dinâmica que se baseia na força de predecessores como Ruby e Erlang. É uma excelente escolha para qualquer situação em que o desempenho e escalabilidade são premium, incluindo aplicações web e projetos de desenvolvimento de IoT.
para saber mais sobre Elixir e se poderia ser um bom ajuste para o seu projeto de IoT, contacte a equipe hoje, ou baixar o nosso guia para o desenvolvimento de IoT.