Este livro é indicado para todos aqueles e aquelas que desejam expandir um pouco o seu conhecimento sobre Dart, ou até mesmo para quem não conhece nada da linguagem e quer se aventurar nesse novo mundo, tendo uma nova carta na manga em seu currículo para começar a desenvolver algo server side, para web, desktop, mobile, IOT... várias possibilidades.
O objetivo é que o livro sirva como um guia estruturado para introdução e aprofundamento na linguagem. Nele, abordarei desde os conceitos mais básicos envolvendo a sintaxe (como tipos, operadores, estruturas de repetição etc.) até features mais avançadas da linguagem (como programação assíncrona, generics etc.), sempre focando na parte teórica seguida de prática com exemplos
Este livro não é uma abordagem de Dart focada para algum SDK específico, como a utilização do AngularDart para desenvolvimento web ou até mesmo o Flutter para criação de aplicações móveis. Porém, como eles trabalham em cima do core do Dart, todos os fundamentos e conceitos aprendidos aqui serão essenciais e com certeza úteis para utilização de qualquer outro framework criado a partir da linguagem.
Julio Henrique Bitencourt
Bacharel em Ciência da Computação e pós-graduando em desenvolvimento mobile pela FIAP. Um eterno estudante, acredito que conhecimento nunca será demais e sempre é o momento certo para ser um aprendiz em algo.
Entusiasta em desenvolvimento mobile, após anos flertando com desenvolvimento Android, a partir do final de 2017 venho me especializando e trabalhando com Dart na criação de aplicações multiplataformas e nativas com o querido Flutter. SDK no qual tenho prazer em trabalhar hoje em dia em meu atual emprego como Desenvolvedor Mobile.
A primeira parte do livro busca introduzir a história da linguagem e as motivações por trás dela.
Após isso vamos iniciar com o básico da linguagem. Veremos sobre os operadores e estruturas de controle existentes. Como funciona o sistema de tipagem escolhido e as mudanças originadas pela null safety.
Além de explorar o mundo das funções, métodos, closures e todas essas diversas nomenclaturas.
Na segunda parte, avançamos para outros conceitos fundamentais de programação e como Dart os aborda.
Veremos sobre tratamento de erros e como criar libraries e packages, junto as suas particularidades.
Em seguida abordaremos os conceitos de Orientação a Objetos, finalizando com generics e as estruturas de dados presentes na linguagem.
Por fim, entraremos nos conceitos mais avançados e também essenciais para o dia a dia do desenvolvedor.
Veremos sobre concorrência e os conceitos de programação assíncrona, além de entender a importância do event loop por trás disso tudo.
Em seguida vamos conhecer o mundo das streams e como elas são úteis em várias situações.
Também nos aprofundaremos no funcionamento das isolates e zones. Dois conceitos pouco explorados e conhecidos pelas pessoas que trabalham com a linguagem.
Por fim, com um exemplo prático, aprenderemos a manipular arquivos utilizando todos os conceitos aprendidos.