Successfully reported this slideshow.
Your SlideShare is downloading. ×

Dart Jump Start

Upcoming SlideShare
Dart
Dart
Loading in …3
×

Check these out next

1 of 18 Ad
1 of 18 Ad

Dart Jump Start

Download to read offline

The slides I was using in my Dart Jump Start lecture, that took place in HIT on October 9th, 2013. You can watch my lecture at http://youtu.be/4g3U6MZc92Q.

More information about the Java course I deliver can be found at java.course.lifemichael.com

More information about the PHP course I deliver can be found at php.course.lifemichael.com

More information about the FED course I deliver can be found at fed.course.lifemichael.com

More information about the Scala course I deliver can be found at scala.course.lifemichael.com

More information about the Android course I deliver can be found at android.course.lifemichael.com

More information about the Kotlin course I deliver can be found at kotlin.course.lifemichael.com

More information about the Swift course I deliver can be found at swift.course.lifemichael.com

More information about the C++ course I deliver can be found at cpp.course.lifemichael.com

More information about the Go course I deliver can be found at go.course.lifemichael.com

More information about the CSS course I deliver can be found at css.course.lifemichael.com

More information about the C# course I deliver can be found at csharp.course.lifemichael.com

More information about the Python course I deliver can be found at python.course.lifemichael.com

More information about the Angular course I deliver can be found at angular.course.lifemichael.com

More information about the Node.js course I deliver can be found at nodejs.course.lifemichael.com

More information about the Fullstack Development course I deliver can be found at fullstack.course.lifemichael.com

The slides I was using in my Dart Jump Start lecture, that took place in HIT on October 9th, 2013. You can watch my lecture at http://youtu.be/4g3U6MZc92Q.

More information about the Java course I deliver can be found at java.course.lifemichael.com

More information about the PHP course I deliver can be found at php.course.lifemichael.com

More information about the FED course I deliver can be found at fed.course.lifemichael.com

More information about the Scala course I deliver can be found at scala.course.lifemichael.com

More information about the Android course I deliver can be found at android.course.lifemichael.com

More information about the Kotlin course I deliver can be found at kotlin.course.lifemichael.com

More information about the Swift course I deliver can be found at swift.course.lifemichael.com

More information about the C++ course I deliver can be found at cpp.course.lifemichael.com

More information about the Go course I deliver can be found at go.course.lifemichael.com

More information about the CSS course I deliver can be found at css.course.lifemichael.com

More information about the C# course I deliver can be found at csharp.course.lifemichael.com

More information about the Python course I deliver can be found at python.course.lifemichael.com

More information about the Angular course I deliver can be found at angular.course.lifemichael.com

More information about the Node.js course I deliver can be found at nodejs.course.lifemichael.com

More information about the Fullstack Development course I deliver can be found at fullstack.course.lifemichael.com

Advertisement
Advertisement

More Related Content

Advertisement

Dart Jump Start

  1. 1. Haim Michael October 9th, 2013 All logos, trade marks and brand names used in this presentation belong to the respective owners. Watch the lecture at http://youtu.be/4g3U6MZc92Q LifeMichael.com Dart Jump Start
  2. 2. ● Introduction ● Optional Typing ● Object Oriented Programming ● Functional Programming ● JavaScript Interoperability ● Dart Packages Manager ● Dart Evolution ● Dart Criticism ● Learning Resources ● Questions & Answers LifeMichael.com Table of Content
  3. 3. ● Dart is an open source class based, object oriented, optionally typed programming language that assists us with the development of browser based one page web applications. ● We can execute the code that should run on the client side either by using a web browser that supports Dart or by compiling our code into JavaScript. LifeMichael.com Introduction
  4. 4. ● We can execute our code on the server side by using the Dart virtual machine. ● The syntax seems familiar both to those who are used to JavaScript and to those who are used to JavaPHPC#. LifeMichael.com Introduction
  5. 5. ● The Dart programming language bridges the gap between the JavaScript dynamic type system and the JavaC# static one. ● The optional typing is available in variable declarations, function parameters definitions and function return types. void main() { int a = 4; int b = 3; var temp = a + b; print("temp=$temp"); } LifeMichael.com Optional Typing
  6. 6. ● The Dart programming language uses classes and interfaces ● similarly to Java, C# and PHP. ● Dart supports single inheritance similarly to Java, C# and PHP. ● Dart supports multiple interfaces implementation similarly to Java, C# and PHP. ● Similarly to Java, PHP and C# every class inherits (either directly or indirectly) from the Object class. LifeMichael.com Object Oriented Programming
  7. 7. ● The classes can have public and private members. The public accessibility is the default one. ● Dart supports a special shorthand syntax for accessing class properties, similarly to properties in C# LifeMichael.com Object Oriented Programming
  8. 8. class Rectangle { double _width; double _height; Rectangle(double w,double h) { width = w; height = h; } get width => _width; set width(size) => (size>0)?_width=size:_width=10.0; get height => _height; set height(size) => (size>0)?_height=size:_height=10.0; area() => width * height; perimeter() => 2*(width+height); } LifeMichael.com Object Oriented Programming
  9. 9. main() { var ob = new Rectangle(3.2,4.4); ob.width = 20.2; ob.height = -4.1; var area = ob.area(); print("area is $area"); } LifeMichael.com Object Oriented Programming
  10. 10. ● We can pass a function as an argument to another function and we can assign a function to a variable. ● The possibility to define anonymous functions and pass them over as arguments to other functions simplifies the code. LifeMichael.com Functional Programming
  11. 11. goodMorning(str) => print("Good Morning $str"); goodEvening(str) => print("Good Evening $str"); loop(func,name) { for(var i=1;i<=3;i++) { func(name); } } main() { var myFunc = goodEvening; loop(myFunc,"Danidin"); } LifeMichael.com Functional Programming
  12. 12. ● Dart allows us to interact with other parts of the web document as the DOM and other code written in JavaScript. LifeMichael.com JavaScript Interoperability
  13. 13. import 'dart:html'; void main() { var ob = query("#sample_text_id"); ob.text = "Press Here"; ob.on.click.add(reverseText); } void reverseText(Event event) { var text = query("#sample_text_id").text; var buffer = new StringBuffer(); for (int i = text.length - 1; i >= 0; i--) { buffer.add(text[i]); } query("#sample_text_id").text = buffer.toString(); } LifeMichael.com JavaScript Interoperability
  14. 14. ● Pub is Dart package manager. Pub assists us reusing existing Dart code. ● Pub handles versioning and dependency management and ensures that our application runs on other machines exactly as it runs on ours. http://pub.dartlang.org LifeMichael.com Dart Package Manager
  15. 15. ● Dart was announced on October 12th 2011. The developers of Dart seem to learn well from Java mistakes (waiting with the production release, proper development tools and neutralizing competitors). ● During the past two years its development goes side by side with the development of new Google powered JavaScript libraries, such as AngularJS and Polymer. Polymer LifeMichael.com Dart Evolution
  16. 16. “The growth of Dart might take us backward to the days of proprietary vendor lock-in" “There is a fragmentation risk in the evolution of a new non standard programming language for the web" “The optional typing damages the quality of the code" Critics I Found on The Web LifeMichael.com Dart Criticism
  17. 17. ● Dart programming language official main website https://www.dartlang.org ● You can find the 'Dart Fundamentals' online course available for free personal use at http://abelski.lifemichael.com ● Dart Developers Group on Facebook https://www.facebook.com/groups/221793191216903/ LifeMichael.com Learning Resources
  18. 18. ● Two courses you might find interesting include Software Engineering in PHP more info Android 4.4 Java Applications Development more info HTML5 Cross Platform Mobile Applications more info ● If you enjoyed my lecture please leave me a comment at http://speakerpedia.com/speakers/life-michael. Thanks for your time! Haim. LifeMichael.com Questions & Answers

×