Τι είναι ένα αρχείο Dart;
Ένα αρχείο Dart περιέχει τον πηγαίο κώδικα της γλώσσας προγραμματισμού Dart, η οποία είναι μια γλώσσα προγραμματισμού βελτιστοποιημένη για πελάτη που αναπτύχθηκε από την Google και χρησιμοποιείται για τη δημιουργία εφαρμογών για κινητά, επιτραπέζιους υπολογιστές, ιστό, Iot (Διαδίκτυο πραγμάτων) κ.λπ. Το Dart είναι μια αντικειμενοστραφή γλώσσα με σύνταξη παρόμοια με το C. Το Dart μπορεί να μεταγλωττιστεί είτε σε JavaScript είτε σε εγγενή κώδικα. Μπορείτε να εκτελέσετε τα αρχεία Dart σε διάσημο πρόγραμμα περιήγησης ιστού όπως ακριβώς μπορείτε να εκτελέσετε ένα αρχείο javascript. Ένα εργαλείο γραμμής εντολών γνωστό ως εικονική μηχανή Dart που συνοδεύεται από το Dart SDK μπορεί επίσης να χρησιμοποιηθεί για τη μεταγλώττιση και εκτέλεση των αρχείων Dart.
Σύντομη Ιστορία
Το έργο Dart ιδρύθηκε από τους Lars Bak και Kasper Lund και η πρώτη έκδοση κυκλοφόρησε στις 14 Νοεμβρίου 2013. Στην αρχή το Dart επικρίθηκε για τον κατακερματισμό του ιστού λόγω των σχεδίων για συμπερίληψη ενός Dart VM στο Google Chrome. Αυτά τα σχέδια απορρίφθηκαν και το Dart επικεντρώθηκε στη μεταγλώττιση σε JavaScript με την κυκλοφορία της έκδοσης 1.9 το 2015.
Το Dart 2.0 κυκλοφόρησε τον Αύγουστο του 2018, όπου παρουσιάστηκε η επέκταση dart2native που μεταγλωττίζει τον κώδικα Dart σε εγγενείς πλατφόρμες Linux, Windows και macOS. Αυτή η επέκταση επέτρεψε αυτόνομα εκτελέσιμα, λόγω των οποίων το Dart SDK δεν χρειαζόταν για την εκτέλεση εφαρμογών Dart από αυτές τις πλατφόρμες. Αυτή η επέκταση ενσωματώθηκε επίσης με το Flutter καθιστώντας δυνατή τη δημιουργία εφαρμογών πολλαπλών πλατφορμών.
Η ECMA τυποποίησε το Dart με την πρώτη έκδοση τον Ιούλιο του 2014 και τη δεύτερη έκδοση τον Δεκέμβριο του 2014.
Τρόπος εκτέλεσης/εκτέλεσης κώδικα Dart
Ο κώδικας βελών μπορεί να εκτελεστεί με τους ακόλουθους τρόπους:
- Μεταγλωττίστηκε ως JavaScript: Ο κώδικας Dart μεταγλωττίζεται σε JavaScript χρησιμοποιώντας τον μεταγλωττιστή dart2js. Ο μεταγλωττισμένος κώδικας JavaScript είναι συμβατός με όλα τα μεγάλα προγράμματα περιήγησης ιστού.
- Ανεξάρτητη: Το Dart Software Development Kit (SDK) συνοδεύεται από ένα αυτόνομο Dart VM που επιτρέπει στον κώδικα Dart να εκτελείται στη διεπαφή γραμμής εντολών. Το Dart συνοδεύεται από μια πλήρη τυπική βιβλιοθήκη που επιτρέπει στους χρήστες να γράφουν πλήρως λειτουργικές εφαρμογές.
- Συγκεντρώθηκε εκ των προτέρων (AOT): Ο κώδικας βελών μπορεί να μεταγλωττιστεί με AOT σε κώδικα μηχανής που επιτρέπει τη δημιουργία εφαρμογών για κινητές συσκευές με Flutter.
- Εγγενής: Με τον μεταγλωττιστή dart2native, ο κώδικας Dart μπορεί να μεταγλωττιστεί σε αυτόνομα εκτελέσιμα που μπορούν να εκτελεστούν σε Windows, Linux και macOS.
Μορφή αρχείου Dart
Το Dart είναι μια αντικειμενοστραφή γλώσσα τύπου C που υποστηρίζει διεπαφές, μίξεις, αφηρημένες κλάσεις, τροποποιημένα γενικά και διεπαφή τύπου.
Σύνταξη
Τα παρακάτω είναι μερικά παραδείγματα σύνταξης Dart.
Εκτύπωση στην κονσόλα
// print "Hello World" to console
main() {
print("Hello, World!");
}
Βρόχοι και πίνακες
// loops and arrays
var names = {
'John',
'James',
'Rose',
};
main() {
for (var name in names) {
print(name);
}
}
Λειτουργίες
// functions
int double(int x) {
return x * 2;
}
main() {
print("double of 10 is ${double(10)}");
}
Μαθήματα
// classes
abstract class Person {
detail();
}
class Student implements Person {
String firstName = "Jack";
String lastName = "Wick";
detail() => print("Student: $firstName $lastName");
}
main() {
// The 'new' keyword is optional.
Student student = Student();
student.detail();
}
Μίξεις
Οι μίξεις είναι κανονικές κλάσεις από τις οποίες μπορούμε να δανειστούμε μεθόδους/μεταβλητές χωρίς να τις κληρονομήσουμε. Αυτό γίνεται χρησιμοποιώντας τη λέξη-κλειδί “με”.
class B {
method(){
....
}
}
class A with B {
....
......
}
void main() {
A a = A();
a.method(); //We are able to access the method of B class without inheriting from it.
}