Why I fell in love with Google Flutter & Dart

I wrote my first line of code 22 years ago, when I was 14, and even at that age I knew I wanted to be software engineer. It’s my passion and writing code is my life. I started with logo — Qbasic — Pascal — C — C++ then I moved to Visual Basic 5–6.In 2001 I started learning HTML and built my first website in 2002 for my college. ,then I moved to vb.net and c# and, at the time, was making some pretty good money from it… but something was still missing. I had been looking into other languages and in 2004 I walked away from vb.net & c#, leaving it all of that behind for the bright lights and big city of PHP!

PHP 5 had just come out and the was talk about PHP having security issues and being on its way out, but I decided it was worth a try. I found it easy to learn (C-style) and the most important thing for me was that coding was fun again! I co-founded the PHPegypt user group in and after PHP became even more popular and was able to have steady work all the way until 2011.

Then one terrible day my manager came to me and said they needed me to develop they first mobile app , at time and faced with two choices (Xcode3 or someone else will take the chance ) I decided to go for what was behind door #3 and and built my first ios app with Appcelerator Titanium. It was a great experience because I was able to learn to develop mobile apps so quickly that I had my first one on the store just a month after picking it up. It was location based app that helped NGO organizations find volunteers, and volunteers could check their local area to see if they were needed.

Nothing good ever lasts and Titanium was no exception. It was sold and the first thing the new owners did was start fixing things that weren’t broken. That’s when I went with trigger.io for my next app. I wasn’t nearly as enjoyable because trigger.io was new and had its share of problems, so I decide it was time go go back to what I enjoyed, PHP. with CodeIgniter! Then CodeIgniter started falling behind and I started looking around again. Ruby on Rails was looking interesting and I kept my eyes on PHP frameworks like FuelPHP and Symfony until I found my next true love with Laravel. Laravel’s power derived from it’s simplicity and predictability. Yii and Symfony were great but Laravel was a lot more fun than any other framework around. I still think it’s the best framework in PHP and I can tell you why with only six bullets:

  • Predictable framework.
  • Easy to learn.
  • Great documentation.
  • Even better community!
  • You can actually easily talk to “the Source” (The creator of Laravel)
  • Did I mention it’s fun?

So what does all this have to do with Dart and Flutter? Because when I look around today, I see that same kind of negative talk about Dart that I heard back then about PHP; such as “Dart is dead.” And, once again, all that talk couldn’t be more wrong.

Why Flutter ?

If you’re like me and you enjoy something that’s both enjoyable and intuitive, then give Flutter a try. I bet you’ll love it at first sight, just as I did! Dart is really easy to learn and Flutter has turned out to be a great cross-platform mobile development tool. , I understood what google said about dart when they released it at 2011 “ they want to make the web better “ and that exactly as web or php developer will find
Google open sourced Dart 
https://github.com/dart-lang/ and then start building there internal apps with like ( adwords , adsense , internal crm , etc ..) what that mean ? that’s mean the language got a lot improvements and features and packages during that time this mean almost any web application needs will be already available and remember that idiom “ Batteries included “

Where is the composer ?

– As a PHP developer you need to know your composer alternative right ? Composer on Dart called Pub https://pub.dartlang.org/ which is great and powerful and it made by google , powered by the community

Using Dart for web & which framework I should use ?

If you want to use dart as a backend and don’t know from where you should start here is link you can start from https://webdev.dartlang.org/guides/get-started you don’t even need to use or install any thing Dart coming with great dartpad online editor 🙂 
if you searching for some framework that inspired from Laravel check these links
– 
https://github.com/angel-dart/angel , Tobe did a great job with it .
– 
https://aqueduct.io/ also is a great choice.

How Dart works ?

  • Dart now is static strong typed language and Also support AOT & JIT compilers and that made to be great for every situation production — development and with any type of platform ( backend — Mobile — web ).

Can I use Dart for mobile ?

  • Yes you can! , mobile development with dart is great experience with Flutter https://flutter.io/ it’s Cross-platform sdk to help developers and designers to build native and beautiful applications and you will enjoy developing mobile apps with it .
  • Need to know from where you should start ? here is the start guide https://flutter.io/get-started/codelab/ and if you can understand Arabic this is one talk i gave about mobile development using Google Flutter https://www.youtube.com/watch?v=wytFPaI9MyM and if you don’t know anything about programming you can check that one https://www.youtube.com/watch?v=TfZJ1iC2GIA it’s introduction to programming and will help you to find which path you should go throw and which language you should learn.
  • One of the things I like most about Flutter is you can build anything you can imagine because you’re not limited to the stock Android or iOS widgets. Google built their own widget system with Flutter, and with it you can easily build any UI you can imagine. There is no limits. You could build a Mobile app that behaves & looks like an iOS app and put it on Android, or make the app look almost identical on both platforms. You can have the app check which platform it’s on and show a UI that looks like it’s made of the native widgets on that platform or you could even let the user to select what kind of UI they want to see! Don’t believe me? Here’s a link to a video that shows one of Flutter’s sample apps doing exactly that:
    https://www.youtube.com/watch?v=Zqv160V-oLo

Also you can check this channel

It has great Flutter challenge videos will inspire you to do any thing with Flutter

Can I use Dart as a replacement to Node.js ?

Dart is dead ?

  • No!. Dart now almost one of the best language that has everything you need to be a full stack developer and offer great experience when using it and remember google money coming from apps that made with Dart not that only, Google Fuchsia the new Google Mobile os https://github.com/fuchsia-mirror/ Fuchsia UI built with Dart so Dart is coming.

What’s missing with Dart now ?

  • Dart as a language is great and the team behind it the best team i ever contacted with even better more that any other team inside google it self but they need help from us as a volunteers and community to build the content that represent the beautiful and the powerful of Dart, do you remember what Rails made for Ruby ? we need that inspiration with Dart , exactly like what Laravel made with PHP and it’s your chance to do that.

Can I use my existing knowledge with php to build faster Mobile apps

  • Yes you can , you can use wordpress as backend or Any Php framework , and build your app with flutter that connect to json api , remember Dart & php are friends and they are the same C-style family.
  • If you want to not wasting your time with backend hassel check https://firebase.google.com/ it’s great and easy to build your mobile app with it and support cloud function for more advanced customization
  • There are a lot of people out there creating videos about Dart & Flutter and as word spreads, a lot of things are going to change. Remember all of this a year from now, and you’ll realize how quickly Dart & Flutter are growing. This is going to be a big year!

This was a more cursory introduction to Flutter and Dart; I plan to write more in depth, technical articles in the future.

Finally as I’m saying all the time

  • Flutter will be a big thing soon.
  • Dart is a great predictable language for web and backend.
  • Flutter isn’t wholly dependant on Google. It’s an open source project and even if Google were to drop it, which they won’t, those of us using and contributing to Flutter are not going to stop. That’s the beauty of open source!