Skip to main content

An interview with the author of Mastering Dart

Dart is more than just a language. The Dart SDK contains a robust core library (with async classes, collections, reflection and more), HTML bindings, JavaScript interop, a server-side VM, and more. Dart is easy to learn, but when you're ready to "level up", it helps to have an expert guide you through its many features and capabilities. We sat down with author Sergey Akopkokhyants, author of Mastering Dart, to learn more about his book for advanced Dart topics and techniques.



Q) On behalf of the Dart team, thanks for writing Mastering Dart! So, how did you discover Dart?

Sergey: The first time I heard about Dart was in 2011. I watched a Google conference and found it very interesting how this new language helped in developing web applications in a very familiar fashion with OOP, types and generics. Information was scarce at the time, so I worked to collect it myself bit by bit. Late in 2012, Ray Cromwell introduced the idea of migrating from GWT to Dart. I think that idea was still in my mind when I decided to start the Dart Web Toolkit project – a port of GWT to Dart.

Q) What made you want to write a book about Dart?

In September 2013 Packt Publishing asked me to review the book “Learning Dart” by Dzenan Ridjanovic and Ivo Balbaert. That experience was very interesting and when in April 2014 Packt asked me to write “Mastering Dart”, my answer was ‘yes’. English is not my native language, but this challenge was so exciting and intriguing, that I couldn’t ignore it. Without the help of technical reviewers Yan Cui, Predrag Končar, Jana Moudrá and Martin Sikora and editors Sonali Vernekar, Govindan K, Shashank Desai, this book would never have happened. I also wish to express my deep gratitude and appreciation to my colleague Jeffrey Johnson for his valuable feedback and faith in my success.

Q) Who should read the book? Who is the book for?

This book is for application developers who have experience with Dart and want to develop reusable and robust server and client side code in Dart. If you have basic or intermediate knowledge in Dart, but would like to improve your level of expertise and make use of the language in a more effective and comfortable manner – this book is for you.

Q) What makes Mastering Dart special?

This book is designed to help developers make the most effective use of the Dart programming language, its SDK libraries and a rich set of publicly available packages. It focuses on the advanced stuff and doesn’t repeat the basics. Also, it doesn’t fall back on comparisons with other languages for the explanations and examples. The chapters in the book are arranged in such a way that you can easily learn more in a step by step manner. If you feel you have missed something major, go back and read the earlier chapters. You can refer to any chapter that you need to get more in-depth knowledge about. If you have any questions or suggestions about the book please send them on my email or post them in the book's G+ community.

Q) How do you use Dart today?

I have more than 5 projects written in Dart on GitHub, but I mostly use Dart in my job in the commercial sector. I like Java very much but Dart is steadily replacing that.

Q) What advice would you give to a developer learning Dart for the first time?

You need to practice — a lot. This book or any other only gives you a general direction to go in. You need to follow on this path on your own and face the daily challenges – this is your karma. Another suggestion is to read the source code from popular open source projects. This simple practice gives you a lot mental pabulum and helps you create your own code just follow the patterns. So, start you simple project ASAP and build up from there — who knows, you might change the world.

Q) Where can developers follow you and your work?

Find all my open source projects on GitHub. You can follow me on G+Twitter and LinkedIn.

Thanks Sergey! Developers can find Mastering Dart at Packt Publishing or Amazon.

Popular posts from this blog

Dart in 2016: The fastest growing programming language at Google, 2nd fastest growing in TIOBE Index

Dart was the fastest growing programming language at Google in 2016 with millions of lines of code written. It also made it to TIOBE Index Top 20 this month (see TIOBE's methodology).

It takes time to build something as ambitious as Dart and, in some ways, Dart is still in its infancy. But we're glad the hard work is starting to pay off.

Many thanks to our amazing community!

We're going to celebrate by ... releasing 1.22 next week (as per our usual 6 week release schedule).

A stronger Dart for everyone

We are constantly asking ourselves:
How do we make developers even more productive when writing Dart apps? We believe that a critical part of the answer to this question is to make strongmode – a sound static type system for Dart – the standard for all Dart developers.

Teams that use Dart to build apps like Soundtrap, AdWords, AdSense, and Greentea say they really enjoy using strong mode features, such as early error detection. In fact, teams that have switched completely to strong mode cite not only early error detection but also better code readability and maintainability as major benefits. We hear this both from small teams and – even more so – from large teams with hundreds of developers writing and maintaining millions of lines of Dart code. As Björn Sperber from Soundtrap says,
Strong mode and the smooth integration with IntelliJ is a joy to use and a huge improvement. If you’ve tried out Flutter, you’ve already used strong mode checks from the Dart analyzer.

Given the benefits …

AngularDart 3.0: Easy upgrade, better performance

AngularDart 3.0 is now available. It brings better performance and smaller generated code, while also making you more productive.


Version 3.0 is an evolution: although it has some breaking changes (detailed below), it is a smooth upgrade due to minimal public API adjustments. Most of the progress is under the hood—in code quality, stability, generated code size, performance, and developer experience.

Code quality:
2731 instances of making the framework code more type safe (using sound Dart).The AngularDart framework code size is down by 12%.Many additional style updates to the codebase:Changed to use idiomatic <T> for generic methods.Removed NgZoneImpl, all the code exists in NgZone now.Stability:
Many CSS encapsulation fixes due to update with csslib package.Fixed bugs with IE11.

Performance:
For the Mail sample app, we see 30% faster time-to-interactive (currently 3812 ms on a simulated 3G connection, measured via Lighthouse).Our large app benchmark shows 2x faster render times of…