Tuesday, February 3, 2015

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.

Monday, February 2, 2015

Irregexp, the Dart VM's new RegExp implementation

Crafting regular expressions, or regexps, is an art form. They are a powerful way to search through and pattern-match strings. To give our developers faster performance (up to 150X, compared to our previous implementation) and better semantics with their regular expressions, we're happy to announce that we've finished a port of V8's Irregexp engine to the Dart VM.

Previously, some regular expressions had incorrect semantics, while others had sluggish performance when run in the Dart VM. These issues are resolved by the new implementation. The behavior of regular expressions are now consistent with dart2js compiled code executed on top of V8.

We hope you enjoy these improvements to Dart's regular expressions. Look for the new regular expressions implementation starting with Dart 1.9, which is now in the developer channel.

Posted by Jakob Gruber and Ian Zerny, Irregular Software Engineers