Pull to refresh

Comments 8

TypeScript is designed and developed by Microsoft, whereas Dart is taken care of by Google, later approved as a standard by ECMA. TypeScript is ideal for the development of large applications, whereas Dart is ideal for single-page applications like Gmail. TypeScript has optional static typing with support for inheritance and generics, whereas Dart is a single-threaded programming language that has great asynchronous language support.

Я бы ещё добавил, что TypeScript заточен для web development (back-end, front-end), а Dart - больше под мобильную разработку, хотя может и web тоже.

 "whereas Dart is a single-threaded programming language"
Дак typescript как и javascript вроде тоже однопоточный..

В Dart нет специального синтаксиса для объявления интерфейсов. Любой класс может действовать как интерфейс, и другой класс может его реализовать с implements:

Строго говоря это не совсем так.

Язык поддерживает ООП с классами и множественным наследованием

Множественного наследования здесь нет, это не c++

  • List: упорядоченная коллекция объектов одного типа.

Не обязательно одного типа

void printUserInfo({String name, int age}) { print('Name: $name, Age: $age');}void main() { // вызов printUserInfo(name: 'ivan', age: 30);}

Этот код даже не заведётся, поскольку параметры в функции должны быть помечены как обязательные. Тоже самое и в printUserInfoOptional

Функции высшего порядка принимают другие функции в качестве аргументов или возвращают их

???, не понимаю, на чём сделан акцент? Что функции это объекты на самом деле?

В Dart нет специального синтаксиса для объявления интерфейсов

Есть уже как год, появился в Dart 3, это модификатор interface

if(number % 2 == 0) {...}

Можно я просто побрюзжу и скажу, что уже пора использовать isEven или isOdd для этой цели

В Dart с включённым null safety переменные по умолчанию не могут быть null:

Передача данных между экранами обычно осуществляется через конструкторы и Navigator API:

SecondScreen({Key key, @required this.data})

Эта мысль преследовала меня сквозь весь текст. Теперь явно понятно, что весь материал представляет из себя простыню личных заметок, когда ещё использовался dart ~2 версии...

Напомню, что в рамках онлайн‑курсов OTUS вы можете изучить самые популярные ЯП, а также зарегистрироваться на ряд бесплатных мероприятий.

Поэтому спасибо, но нет.

В Dart >=3 много нового.Сделайте такую же статью но для Dart 3

Если уж писать очередную статью про Dart, то стоит писать про самые свежие версии языка и его фичи. А сейчас бегло и оооочень коротко пробежались по основным (и то не всем) конструкциям языка.

Так, в Dart 3.0 появился синтаксис для объявления интерфейсов и sealed классов. Можно почитать оф. документацию или обзор от ребят из Surf

Еще, начиная с 3 версии сильно апнули возможности switch-case и убрали назойливое ключевое слово break из этой конструкции.

Проект без NullSafety сейчас вообще сложно представить. Наверное это может быть только в каком-то "древнем" легаси.

Ни слова про миксины, расширения типов, расширения классов 😢

Упоминание Flutter в таком виде кажется абсолютно неуместным. Лучше бы рассказали про Records (хотя бы), а про Flutter лучше отдельную и полную статью написали. Сейчас получается какая-то антиреклама фреймворка.

Многое из статьи уже неактуально для Dart 3. Появилось довольно много модификаторов классов для ООП, можно делать switch-case по типу детей родительского sealed класса, что очень удобно, и т.п.

Статья актуальна разве что для Dart 2.

Sign up to leave a comment.