ASP.NET Boilerplate: Simplificando o desenvolvimento de aplicações

Não se repita! ASP.NET Boilerplate automatiza tarefas comuns de desenvolvimento de software por convenção. Você se concentra em seu código comercial.

Com a tecnologia em alta e o consequente aumento de desenvolvedores no mundo, surge uma questão em meio a isso, a maneira de como os famosos códigos são escritos. Com o tempo, percebe-se que não basta simplesmente sair escrevendo linhas e linhas de códigos, sem nenhum padrão ou cuidado, pode ser que no fim você alcance o que deseja, porém não utilizou de alguns princípios deste imenso mundo, como simplicidade, modularidade, e diversos outros.

Não há nada de errado em não aplicar os princípios de boas práticas, pois sem elas seu código pode chegar no resultado desejado, porém é questão de tempo até você começar a fazer isto automaticamente. Você perceberá ao encontrar uma aplicação desenvolvida com estas práticas, e verá que elas realmente fazem a diferença. Mas e quais são as boas práticas? Temos muitas…

  • Código legível: Simples, fácil de entender.
  • Funções pequenas e coesas: Que faça somente o que precisa ser feito.
  • Nomes intuitivos: Variáveis, funções, classes, etc, com nomes que qualquer pessoa entenda.
  • Comentários relevantes: Comente apenas o que realmente for necessário.
  • Formatação do código: Para melhorar a legibilidade do código.
  • Testes unitários: Não canse de testar o que você está escrevendo.
  • Sem duplicidade: Tente criar funções genéricas para evitar repetição.

Além destes citados acima, podemos falar sobre o SOLID, um conjunto de cinco princípios de design de software que visam criar um código mais flexível, robusto e fácil de manter. Dessa forma teremos:

  • S: Princípio da Responsabilidade Única – Uma classe deve ter apenas uma responsabilidade.
  • O: Princípio do Aberto/Fechado – Entidades devem ser abertas para extensão, e fechadas para modificação, permitindo que o comportamento seja estendido sem alterar o código já existente.
  • D: Princípio da Substituição de Liskov – Subtipos devem ser substituíveis por seus tipos base sem afetar a funcionalidade do código.
  • I: Princípio da Segregação de Interfaces – Usuários não devem depender de interfaces que não utilizem, ou seja, interfaces devem ser específicas para o usuário que as utilizam.
  • D: Princípio da Inversão de Dependência – Módulos de alto nível não devem depender de módulos de baixo nível, porém ambos devem depender de abstrações, tornando assim um código mais flexível.

É claro que se faz necessário aprofundar-se um pouco mais nestes princípios para ir aos poucos colocando em prática.

Durante a carreira de um programador, ele conhecerá e utilizará muitas ferramentas e tecnologias que irão lhe auxiliar justamente nas práticas citadas anteriormente, na construção de sua aplicação. Uma dessas ferramentas é o ASP.NET Boilerplate, um framework para modernas aplicações web.

Boilerplate fornece uma arquitetura em camadas baseado em DDD – Domain Driven Design, uma abordagem para modelagem de domínio de um problema complexo – e utiliza os princípios do SOLID. Ele é projetado como um design modular e extensível que permite construir seus próprios módulos, e também oferece suporte a Multi Tenancy.

É um framework gratuito e open-source, com uma documentação completa, com diversos exemplos e tutoriais, além de sua grande comunidade. Ele permite criar sua solução com base em modelos de inicialização gratuitos ou premium, independente se for um aplicativo Angular com uma única página ou uma clássica arquitetura MVC com jQuery.

Sobre o framework em si, são códigos escritos em cima do ASP.NET Core, utilizando de todas as boas práticas, que já vêm “prontos” para serem utilizados ou sobrescritos, de preferência mantendo a mesma “boa prática”, é claro.

Um exemplo clássico que podemos citar é o CRUD (Create, Read, Update, Delete) que você sempre encontra nas aplicações. O Boilerplate lhe entrega essas funcionalidades prontas, basta apenas você implementá-lo da forma que precisa.

Este trecho de código acima, já está fazendo o CRUD completo. É claro que a Entidade e seus Dtos (Data Transfer Objects) estão em outras pastas, porém já é perceptível o auxílio que o ABP fornece, e isto é um simples exemplo.

Na imagem acima, tem algumas ferramentas e tecnologias que o ABP possui integração. É altamente sugerido que você acesse a documentação para estudar mais sobre e ver até onde pode chegar com este framework. É inegável que ele lhe auxilia muito, por lhe trazer todas as boas práticas que são muito importantes no mundo de hoje, e também diversas funcionalidades já prontas em seu código, as quais te economizam um certo tempo e também lhe agregam conhecimento.

Autor: Fábio Augusto Silva Tessaro

Adaptabilidade e Eficiência: A Essência das Metodologias Ágeis

As metodologias ágeis são técnicas que aumentam a velocidade de entrega de projetos. Elas funcionam dividindo as entregas em ciclos menores, permitindo que problemas sejam identificados e resolvidos mais rapidamente e que os planos sejam ajustados conforme necessário. Embora tenham sido inicialmente usadas em equipes de desenvolvimento de software, essas estratégias podem ser aplicadas a qualquer tipo de projeto.

Continue lendo “Adaptabilidade e Eficiência: A Essência das Metodologias Ágeis”

Uso da Inteligência Artificial para indicação de livros a leitores

Cada vez mais democrática e acessível, não é novidade que a inteligência artificial tem ganhado espaço no dia a dia das pessoas, mas a utilização de ferramentas como essa não é recente. Há anos o comércio eletrônico tem usufruído da tecnologia para ser assertivo em suas recomendações e vendas. A ascensão do uso de dados de navegação é conhecida como BigData e é feito com a tecnologia de “cookies” e “tracking”, onde o algoritmo extrai informações da utilização em sites e aplicativos do usuário.

Continue lendo “Uso da Inteligência Artificial para indicação de livros a leitores”

Banco de Dados Baseado em Grafos e suas Principais Características

O banco de dados baseado em grafos é relativamente simples de ser desenhado, diferente do banco relacional onde o modelo básico são tabelas e as suas relações, o modelo básico desse tipo de banco são os grafos, onde podemos inserir um dado sem se preocupar quais relacionamentos ele possuirá, pois, essa relação acontece de forma mais simples.

Continue lendo “Banco de Dados Baseado em Grafos e suas Principais Características”

Gamificação

Em um mundo como vivemos hoje em dia, com milhares de distrações para qualquer lado que olhamos, é incontestável a dificuldade em criar uma determinada tarefa/tema que prenda a atenção e o interesse da pessoa e que faça com que se engaje a essa tarefa/tema.

Continue lendo “Gamificação”

NodeJS vs Go

NodeJS vs Golang

Nos dias atuais e na era da informação, se torna cada vez mais fácil ter acesso a um bom conteúdo para estudar e se aperfeiçoar. Isso possibilitou que nós, desenvolvedores, tenhamos uma grande quantidade de tecnologias à nossa disposição para solucionar os problemas corriqueiros de nosso dia a dia. Este texto tem como objetivo comparar duas excelentes tecnologias que empoderam milhões de desenvolvedores ao redor do mundo. Durante este post, irei  abordar diversos pontos que considerei importantes para a escolha de uma stack e espero que talvez, encurte a sua jornada.

Continue lendo “NodeJS vs Go”

Arquitetura Serverless: O que você precisa saber

logo serverless framework

Você já imaginou executar suas funções de backend sem possuir um servidor? A arquitetura serverless nos permite essa facilidade.

No entanto, como o nome da arquitetura sugere (serverless, do inglês, sem servidor), existe sim um servidor executando tais funções, ele somente não é gerenciado por você, mas pela plataforma cloud  no modelo FaaS (Function as a Service) que você irá utilizar, como por exemplo Amazon Web Services (AWS), Microsoft Azure, Google Cloud, entre outras. Com isso, evita-se a configuração de servidores complexos e/ou ambientes isolados como os containers.

Continue lendo “Arquitetura Serverless: O que você precisa saber”

Utilização de NodeMCU em projetos IoT

Desde o princípio a tecnologia vem passando por crescente transformação. O que antes eram computadores gigantes que ocupavam salas inteiras apenas para fazer simples cálculos, se transformou em dispositivos indispensáveis para o dia-a-dia. São eles: celulares, notebooks, o computador de bordo do carro, a TV smart, o aspirador de pó inteligente, entre muitos outros. Esta grande massa de dispositivos geralmente está conectada à internet. Mas você já parou para pensar como isso funciona? Quais dispositivos podem ser conectados? Eu posso montar um projeto IoT? Aí está mais uma palavra que ouvimos muito hoje em dia. IoT significa Internet of Things (Internet das Coisas), que podemos entender como coisas conectadas na internet.

Continue lendo “Utilização de NodeMCU em projetos IoT”

RPA – Robotic Process Automation

A automação de processos robóticos, do inglês Robotic Process Automation (RPA) é uma forma emergente de tecnologia de automação de processos de negócios baseada na noção de robôs de software ou de trabalhadores de inteligência artificial.

Em ferramentas tradicionais de automação de fluxo de trabalho, um desenvolvedor de software produz uma lista de ações para automatizar uma tarefa e interface para o sistema back-end usando interfaces de programação de aplicativos internos (APIs) ou linguagem de script dedicada. Em contraste, os sistemas RPA desenvolvem a lista de ações observando o usuário executar essa tarefa na interface gráfica com o usuário (GUI) do aplicativo e, em seguida, executa a automação repetindo essas tarefas diretamente na GUI. Isso pode diminuir a barreira do uso de automação em produtos que, de outra forma, não teriam APIs para essa finalidade.

As ferramentas do RPA têm o objetivo de substituir tarefas repetitivas, operacionais e de baixa importância. Deixando assim as pessoas livres para atuar em atividades que exigem o uso de julgamentos, da razão, de sentimentos e de fatores humanos que contribuem para a inovação de qualquer empresa. Todos os sistemas que operam sem a mínima integração e que demandam toda uma equipe para tabular dados e preencher planilhas serão manipulados por robôs, que executarão cada tarefa com uma velocidade muito maior do que uma pessoa.

Os RPA têm fortes semelhanças técnicas com as ferramentas de teste da interface gráfica do usuário. Essas ferramentas também automatizam as interações com a GUI e geralmente o fazem repetindo um conjunto de ações de demonstração executadas por um usuário. As ferramentas do RPA diferem desses sistemas, incluindo recursos que permitem que os dados sejam manipulados em e entre vários aplicativos, por exemplo, recebimento de email contendo uma fatura, extração de dados e, em seguida, digitação em um sistema de contabilidade.

EVOLUÇÃO HISTÓRICA DA RPA

Como uma forma de automação, o conceito de RPA existe há muito tempo na forma de screen scraping, mas a primeira é considerada uma evolução tecnológica significativa dessa técnica, no sentido de que novas plataformas de software estão surgindo, que são suficientemente maduras, resilientes, escalável e confiável para tornar esta abordagem viável para uso em grandes empresas. (NEW SCIENTIST, 2015).

Como exemplo de até que ponto a tecnologia se desenvolveu desde a sua forma inicial na raspagem de telas, é útil considerar o caso citado em um estudo acadêmico.  Usuários de uma plataforma da Xchanging, empresa global sediada no Reino Unido que fornece processamento de negócios, tecnologia e serviços de compras em todo o mundo, antropomorfizou seu robô em uma colega de trabalho chamada “Poppy” e até convidou “ela” para a festa de Natal.  Esse exemplo serve para demonstrar o nível de intuição, engajamento e facilidade de uso das modernas plataformas de tecnologia RPA, que leva seus usuários (ou “treinadores”) a se relacionar com eles como seres, em vez de serviços de software abstratos. (WILLCOCKS, LACITY E CRAIG, 2015).

OS IMPACTOS DO RPA

3.1 Impactos no mercado de trabalho 

De acordo com a Harvard Business Review (2014), a maioria dos grupos de operações que adotaram a RPA prometeu a seus funcionários que a automação não resultaria em demissões. Em vez disso, os trabalhadores foram realocados para fazer um trabalho mais interessante.  Um estudo acadêmico destacou que os trabalhadores do conhecimento não se sentem ameaçados pela automação: eles adotaram e viram os robôs como companheiros de equipe. O mesmo estudo destacou que, ao invés de resultar em um menor número de funcionários, a tecnologia foi implantada de forma a alcançar mais trabalho e maior produtividade com o mesmo número de pessoas.

Por outro lado, alguns analistas afirmam que a RPA representa uma ameaça para a indústria de Business Process Outsourcing (BPO). A tese por trás dessa noção é que a RPA permitirá que as empresas “repatriarem” processos de locais offshore em data centers locais, com o benefício dessa nova tecnologia.  O efeito, se for verdade, será criar trabalhos de alto valor para designers de processos qualificados em locais onshore (e dentro da cadeia de fornecimento de hardware de TI, gerenciamento de data center, etc.), mas para diminuir a oportunidade disponível para offshore de trabalhadores pouco qualificados.  Por outro lado, esta discussão parece ser um terreno saudável para o debate, já que outro estudo acadêmico se esforçou para combater o chamado “mito” de que a RPA trará muitos empregos do exterior. (SLABY, 2012).

Impactos na sociedade

Estudos acadêmicos projetam que a RPA, entre outras tendências tecnológicas, deverá impulsionar uma nova onda de ganhos de produtividade e eficiência no mercado de trabalho global.  Embora não seja atribuída diretamente à RPA, a Universidade de Oxford estima que até 20% de todos os trabalhos podem ter sido automatizados até 2035.

Em uma palestra do TEDx organizada pela UCL em Londres, o empreendedor David Moss explicou que a mão-de-obra digital na forma de RPA não apenas revolucionará o modelo de custo da indústria de serviços ao reduzir os preços de produtos e serviços, mas é provável que aumente os níveis de serviço, a qualidade dos resultados e crie maiores oportunidades para a personalização dos serviços.  (JEE, 2016).

Enquanto isso, o professor Willcocks (2015), autor do artigo de LSE, fala de maior satisfação no trabalho e estímulo intelectual, caracterizando a tecnologia como tendo a capacidade de “tirar o robô do humano”, uma referência ao “A noção de que os robôs assumirão as porções mundanas e repetitivas da carga de trabalho diária das pessoas, deixando-as reposicionadas em papéis mais interpessoais ou concentradas nas partes restantes, mais significativas, de seus dias”.

IMPLEMENTAÇÃO DO RPA EM EMPRESAS

De acordo com a iCaptor a implementação de um RPA, ao contrário de outras ferramentas de TI, é bem simples. Existem processos de pequenas e médias empresas, para as quais desburocratizar e cortar algumas fases é essencial para alcançar rápidos resultados.

Uma implementação bem sucedida começa por encontrar os processos da empresa que poderiam se beneficiar do RPA. Para começar, é necessário realizar uma avaliação de alto nível de quais processos e tarefas podem ser robotizados.

A segunda fase desse processo envolve a seleção de um provedor de RPA, começando por obter informações sobre os requisitos técnicos e os critérios de avaliação. O processo de seleção, muitas vezes, é uma oportunidade para que os fornecedores mostrem como eles atendem aos seus requisitos.

A fase seguinte inclui a facilitação do piloto para as áreas de processo selecionados na fase 1 e 2. Durante esse passo a robotização será explorada de ponta a ponta para mostrar toda a extensão da tecnologia RPA. É importante garantir que os recursos de capital humano sejam treinados e estejam prontos para executar o plano de implementação. Essa etapa também envolve o suporte e o teste do ambiente de TI. Além disso, as atividades de implementação precisarão ser documentadas, rastreadas e concluídas de acordo com o plano inicial.

Se ocorrerem erros, esse é o momento de aprimorar e fazer modificações finais antes da revisão das partes interessadas. Assim, esse momento estabelece as bases para futuros modelos operacionais para uma transição suave para a estratégia RPA de longo prazo definida na Fase 1 e gerenciada na Fase Final.

A fase final é a hora de lançar a solução RPA bem-sucedida, que inclui o lançamento inicial do RPA, bem como o planejamento do sucesso contínuo do software RPA por meio da manutenção proativa.

A estratégia deve incluir um modelo de governança, um modelo operacional, uma estrutura organizacional e uma estratégia de gerenciamento de mudanças da solução RPA. Suas principais tarefas na fase final são:

  • colocar o modelo estratégico final em vigor;
  • determinar o modelo operacional, a governança e o sistema de priorização de processos;
  • fazer a gestão do plano de gerenciamento e de comunicação de mudanças em curso. 

CONSIDERAÇÕES FINAIS SOBRE RPA

A partir dessas informações é possível considerar que um RPA pode ser uma solução definitiva para a otimização dos processos de uma empresa. Com ele, torna-se desnecessário atualizar os sistemas para outros mais pesados e complexos. O RPA é uma solução definitiva, que aproveitará todo o legado dos seus sistemas atuais.

Dessa forma, em vez de contratar um ERP que faz tudo, é possível aproveitar a ferramenta de CRM e integrá-la com outros sistemas, sem ter que se preocupar em ter a tecnologia mais recente e mais completa de gestão empresarial. Basta investir em um bom RPA e contratar novos sistemas à medida que uma demanda real surgir.

Seja RPA, chatbots ou tecnologias de planejamento de projetos, cada vez mais empresas estão tentando se preparar para o futuro do trabalho. No local de trabalho, a tecnologia ultrapassada pode prejudicar a retenção e, em um mercado de funcionários, as empresas competirão por expertise, aumentando assim o preço dos salários. Ao criar uma cultura de local de trabalho mais fluida, as empresas estarão em melhor posição para competir a longo prazo.

Saul Vilasboa

Mínimo Produto Viável – MVP

Startups são empresas em fase inicial que desenvolvem produtos ou serviços inovadores, com potencial de rápido crescimento. Neste contexto de empreendedorismo, principalmente abordando o tema startups, temos o conceito de MVP que no português significa Mínimo Produto Viável.

O MVP é a versão mais simples de um produto que pode ser lançado com uma quantidade mínima de esforço e desenvolvimento. Um MVP ajuda os empreendedores a iniciarem um processo de aprendizagem, poupando tempo e esforços.

O MVP pode ser uma das primeiras etapas do processo empreendedor. Eleger um MVP significa observar e coletar dados sobre clientes e criar situações práticas de negócio que façam com que a startup aprenda e se molde rapidamente com o intuito de lançar uma solução inovadora.

A prática ajuda a investir em um produto certeiro, que seja realmente útil para o seu público alvo. Além disso, depois de algum tempo de prática será possível prever os fatos antes que eles aconteçam, lançar novidades antes que seja tarde demais.

Desenvolver um MVP para ideia de negócio não é garantia de sucesso. Eles são projetados para testar as suposições de um problema que queremos resolver sem que haja muitos investimentos. Para tanto, existem alguns tipos de MVP para auxiliar a escolha da estratégia inicial.

 

Tipos de MVP

 

Papel

Podem ser desenhos feitos à mão, de uma interface para usar como protótipo, ou exemplos ilustrados de um projeto. Fáceis de fazer, visuais que criam entendimento compartilhado. Este tipo de MVP possui algumas limitações, a sua interação é limitada e não testa usabilidade ou hipóteses. Alguns exemplos são diagramas ou esboços.

 

Protótipo Interativo

Estes podem ser representados por maquetes interativas, clicáveis. Testa designs e usabilidades, itera soluções rapidamente e ainda usa entrevistas com clientes. Este não testa hipóteses e nem tecnologias de apoio. Exemplos são HTMLs ou maquetes clicáveis, ou ainda vídeos.

 

Concierge

É um serviço pessoal, em vez de um produto, que manualmente guia o cliente pelo processo, usando os mesmos passos propostos para resolver o problema do cliente no produto digital. Reduz a complexidade, suporta pesquisa generativa, valida suposições qualitativamente com baixo investimento. Seus contras são a escalabilidade limitada, é manual e tem uso intensivo de recursos, o cliente sabe do envolvimento humano.

 

Mágico de Oz

Este é o produto real em operação. Apesar de nos bastidores, todas as funções são executadas manualmente sem o conhecimento da pessoa que está usando o produto. Uma solução em operação da perspectiva do cliente, uma pessoa no papel do mágico pode conseguir envolvimentos mais próximos. Possibilita pesquisa de avaliação para preço e validação da proposta de valor. Alguns dos contras podem ser a escalabilidade limitada devido a um alto comprometimento de recursos.

 

Micronicho

Micronicho consiste em reduzir todas as features do produto ao mínimo, a fim de descobrir se os clientes estão interessados ou dispostos a pagar por ele. Um teste altamente focado, dedicado a qualquer tópico específico, exige mínimo esforço. Um dos contras seria a necessidade de investimento financeiro, pois um dos exemplos deste seria a disponibilização de uma página web simples com o produto oferecido.

 

Software em Operação

Como o próprio nome deste MVP já diz, trata-se de oferecer o produto em operação funcionando plenamente para resolver o problema de um cliente, equipado para medir comportamento de cliente e interações. Alguns dos benefícios são testar hipóteses em um ambiente real, valida suposições qualitativamente. Porém este é caro, precisa de investimento em pessoas e ferramentas.

 

Empresas que utilizaram MVP

 

Facebook

A rede social foi testada, inicialmente, para dentro dos muros da Universidade de Harvard. O período em que a rede atingia apenas os alunos da comunidade universitária foi importante para que o jovem Mark promovesse alterações fundamentais, em linha com o que foi se revelando necessário ao longo do processo de validação.

 

Groupon

A primeira versão do Groupon era um site extremamente simples, feito em wordpress e que gerava cupons em pdf, os quais eram enviados de forma manual a cada interessado.

 

Apple

O iPhone 1 era o típico exemplo de MVP. O aparelho não possuía algumas funções básicas, como copiar e colar, além de exigir download obrigatório do iTunes para ativação. O objetivo aqui era claramente segurar algumas funcionalidades para que fossem lançadas nas versões seguintes do equipamento, gerando ansiedade e euforia entre os clientes.

 

Foursquare

Antes de ir a campo, o serviço de localização coletou depoimentos e sugestões de possíveis usuários, por meio do Google Docs, além de disponibilizar uma versão mais restrita do produto a um grupo seleto de futuros clientes.

 

Autor: Giovani Augusto Varaschini

Um pouco sobre Bootstrap

 

 

 

 

 

 

Desenvolva com facilidade e praticidade.

Principal Framework CSS usado em front-end de aplicações web, com seus recursos, tornam o desenvolvimento de páginas mais fácil, páginas que se adaptam a diversos tamanhos de tela.

Conceito

Bootstrap é um conjunto de componentes correlacionados para ajudar a desenvolver interface com o usuário de forma ágil e fácil. Foi criado em agosto de 2011 pelos desenvolvedores do Twitter, Mark Otto e Jacob Thorton. Tem como objetivo central fornecer ao usuário uma facilidade de desenvolvimento de layouts pré-configurados, tanto para questão de produtividade como também da questão da responsividade.

Customização, responsivo e documentação são as principais características do Bootstrap. Pois a customização é rápida e fácil, responsividade torna o site mais responsivo e a documentação conforme o site do desenvolvedor, mostra que é bem simples e prático de aprender tornando a implementação fácil. Geralmente usado em frond-end, mas atualmente é utilizado em back-end, pois suas ferramentas visuais tornam o visual dos projetos avançados mais aperfeiçoado. Dessa forma, o usuário fica mais familiarizado com o sistema.

Incluso em seu conjunto de recursos, se encontram o HTML 5, CSS 3, Jquery, Node, JavaScript, Ajax. Dessa forma, ao baixar o pacote Bootstrap, não será mais preciso baixar os plug-ins do Jquery por exemplo, pois já faz parte do pacote do Bootstrap.

Rápido

Bootstrap é rápido por quatro motivos:

  1. Seus arquivos tem um tamanho bem pequeno.
    1. js tem no máximo 83kb;
    2. css tem no máximo 98kb
    3. webfont tem no máximo 144kb.
  2. Carrega só o que precisa, somente o que for utilizado no projeto.
  3. Escrever menos código, não precisará definir todo o layout do formulário, pois irá usar classes pré-definidas e melhorar o layout do formulário sem precisar codificar mais nada por exemplo.
  4. Utiliza o sistema de Grids, principal enfoco do Bootstrap, por causa das 12 colunas que se trabalha de forma dinamizada da ferramenta.

 Fases do Bootstrap:

  • Versão 1 – Somente disposto para facilitar o desenvolvimento para desktops. Não tinha os conceitos ligados a responsividade de acordo com outros dispositivos, exemplo tablets, smartphones.
  • Versão 2 – Desenvolvimento para desktop com adaptação para tablete e por fim smartphones. Foi implementado a responsividade para dispositivos móveis.
  • Versão 3 – Surgiu o conceito de mobile first, que é justamente a questão da responsividade inicial para mobile para posteriormente adaptação dos desktops. Inverso da segunda versão.
  • Versão 4 – Realizado a mudança do modelo Less para o Sass, deixando a compilação mais rápida. Fim do suporte para IE8 e lançamento do Bootstrap themes.

Sistema de grade (Grids System) é responsivel e permite até 12 colunas através da página. Tem 4 tipos de classes, dependendo do dispositivo e pode ser ntegrado com outro para criar layouts flexíveis. O layout de sites que são visualizados tanto em navegadores de desktops ou mobile, são de extrema importância, pois o uso das grids, tem o papel de ajustar o layout conforme o tamanho da tela. Assim, tornando sistemas de grade útil.

Bootstrap fornece ferramentas para a construção de sites e aplicações modernas, agregando recursos dinâmicos. Sendo uma ferramenta gratuita e de fácil acesso, vale muito a pena o uso de Bootstrap em projetos mais avançados.

Autor Douglas Beux
Fontes:
Baseado em http://www.ericplatas.com.br/artigos/introducao-bootstrap-framework/.
Adaptado de https://imasters.com.br/design-ux/design-responsivo/7-razoes-para-desenvolver-seus-web-designs-no-bootstrap/?trace=1519021197&source=single.
Adaptado de https://www.youtube.com/watch?v=0o2GWZ0uUeY&t=1839s.