Возможно ли использовать Dart в качестве устойчивой альтернативы JavaScript?
Dart - шутка, придуманная с целью стать примером того, каким ужасным может быть программирование.
Ой, в меня вселился диссидент.
Изначально я хотел написать "Штука, придуманная с целью стать примером того, каким богоподобным может быть программирование, с использованием существующих концепций" - это Google, детка.
Вопрос из заголовка столь неуместен, сколь богоподобна технология, именуемая Dart.
Мне больно работать с JavaScript, особенно после бэкенд-языков, основной парадигмой которых является ООП. А особенно, если в них есть типизация. Выучить я готов, но использовать как основной инструмент - нет.
Так возьми и выучи, тогда бы ты внезапно узнал, что в жс есть классы, что в жс есть типизация (жсдок). Да, всё это в урезанном варианте, но есть.
А если пойдёшь ещё дальше, то ещё и о тайпскрипте узнаешь с полноценным ООП и полноценными типами.
WbICHA, во-первых, я попрошу не обращаться ко мне на "ты". Во-вторых, если разбирать в контексте ООП, то в JS ООП конченное. И да, о существовании классов и TypeScript мне известно. Если в JS конченное ООП, а в TypeScript есть и типизация и нормальное ООП, то на Вашем месте я бы написал, чем он лучше, чем Dart =)
В целом, думаю, можно посмотреть на примеры репозиториев проектов на Dart, благо такая функция есть на GitHub, чтобы понять что на нём обычно пишут. На слуху как минимум Flutter и Sass. Применения именно во frontend я лично не встречал, но ничего невозможного в этом не вижу.
Если нужны ООП и типизация в контексте frontend'а, то почему не TypeScript? Думаю что это первая ассоциация у frontend разработчика при упоминании ООП и типизации.
Flying, спасибо за ответ. Подумаю лучше над этим. Возможно, что я ошибся, начав разбирать вопрос исключительно в контексте Dart, не упоминая при этом TypeScript. Выше человек даже позволил себе грубость из-за этого =)
Как я понимаю, когда говорят, что Dart позиционируется как замена JavaScript, имеется в виду в большей степени не фронтенд, а другие дисциплины? Или для чего вообще необходимо это заявление? Не знаете ли?
whojoannaami, в интернете обращение на "ты" является стандартом.
Да и если тебя оскорбляет обращение на "ты", то (побуду диванным психологом) с твоей самооценкой явно что-то не так.
Так что добро пожаловать.)
whojoannaami, Я уверен что технически Dart можно использовать везде, где используется JavaScript. Но Google, создатели Dart, позиционируют его в первую очередь как язык для написания мобильных приложений, поскольку именно на нём пишутся приложения для очень популярного Flutter, также созданного Google. Поэтому (это теория т.к. я сам не работал с Dart) скорее всего tooling и экосистема вокруг Dart также biased (да простят мне англицизм) в сторону применения в связке с Flutter нежели для чего-то ещё.
Одновременно с этим TypeScript изначально позиционировал себя как "JavaScript + сильная типизация" и позже, с добавлением поддержки JSX, ещё больше укрепил своё восприятие как язык для написания web приложений (backend и frontend). Если посмотреть на экосистему вокруг TypeScript (к примеру те же trending репозитории GitHub) - то как раз там в основном будут именно web related проекты.
Таким образом предпочтительность использования TypeScript вместо Dart в контексте web скорее всего обусловлена community нежели техническими особенностями языка.
Всё просто: используй TypeScript. Там и типизация и ООП. Главное помнить, что типизация там структурная и всё будет ОК.
А Dart - мертворожденное поделие гугла, отчаянно им продвигаемое. Используется только во Flutter, не менее мерзком поделии, которое ни один адекватный фронт юзать не будет.