Wednesday, 13 June 2012

What is Dart ?




Dart เป็นภาษาใหม่ที่พัฒนาขึ้นโดย Google เพื่อเอาไว้ใช้พัฒนา Web App โดยให้เหตุผลว่า JavaScript ที่ใช้อยู่ในปัจจุบันไม่เหมาะที่จะใช้ในการพัฒนา Web Application ขนาดใหญ่ ที่มีความซับซ้อนมากๆ

Dart เป็น Open Source Project ที่่มีเป้าหมายเพื่อช่วยให้ Developers สามารถสร้าง Web Application สำหรับ Web สมัยใหม่ (Modern Web) ที่มีความซับซ้อน ได้อย่างมีประสิทธิภาพ

Dart มีเครื่องมือช่วยในการพัฒนา อย่างเช่น Dartboard (มีไว้ให้เราทดลอง Run Dart Script บน Browser), Dart Editor (เป็น IDE ที่ช่วยในการพัฒนา Dart Apps), SDK ซึ่งจะมี Command Line Tools ให้ใช้ อย่างเช่น Dart-to-JavaScript Compiler (แปลงจาก Dart ไปเป็น JavaScript) และ Dart Virtual Machine (เป็น VM ที่จะช่วยให้เราสามารถ Run Dart Code ได้บน Servers)

Dartboard เอาไว้สำหรับทดลอง Dart Script

Dart Editor

What's New About Dart

Optional Typing 

เราสามารถเลือกที่จะประกาศชนิดตัวแปร หรือไม่ประกาศชนิดตัวแปรก็ได้ ซึ่งการประกาศชนิดของตัวแปรจะช่วยให้เครื่องมือที่ใช้ในการพัฒนาสามารถเข้าใจ และช่วยวิเคราะห์ข้อผิดพลาดใน Application ของเราได้ สำหรับ Pattern สมัยใหม่ นิยมที่จะประกาศชนิดตัวแปรใน Interface และ Method Signature แต่จะไม่ประกาศชนิดตัวแปรภายใน Method

Snapshots 

โดยปกติ ก่อนที่ Browser จะต้องทำการ Parsing Script ที่เราเขียน ก่อนที่จะสามารถ Run Application ได้ แต่ Dart Code มี Feature ที่เรียกว่า Snapshots ซึ่งช่วยให้ Application สามารถ Start ได้เร็วขึ้น

Isolates 

มีลักษณะคล้าย Process แต่ไม่มี Overhead แต่ละ Isolate จะมี Memory และ Code แยกออกจากกันอย่างเด็ดขาด ซึ่งส่งผลให้การทำงานของ Isolate หนึ่ง ไม่สามารถไปมีผลกระทบกับอีก Isolate หนึ่งได้ Isolate จะสามารถส่งข้อมูลถึงกันได้ผ่านทาง Message นอกจากนั้น Isolate ยังช่วยให้สามารถใช้ Multi Core CPU ได้อย่างมีประสิทธิภาพ

Interfaces with Default Implementations 

Dart สามารถสร้าง New Instance จาก Interface ได้โดยตรง เนื่องจากมี Feature ที่เรียกว่า Default Implementation

Generics, but easy

Google มองว่า Generics ที่มีอยู่เดิมค่อนข้างเข้าใจยาก ก็เลยเสนอวิธีใหม่ โดยการลดทอนความสามารถบางอย่างออกไป แต่ปรับปรุงให้เข้าใจได้ง่ายขึ้น

HTML Library

Dart มาพร้อมกับ Native Dart Library (dart:html) ที่ช่วยในการทำงานกับ DOM ได้ง่ายขึ้น คล้ายๆกับ jQuery


แหล่งที่มา:
  1. หนังสือ What's Dart โดย Kathy Walrath และ Seth Ladd
  2. http://www.dartlang.org/

No comments:

Post a Comment