LINUX.ORG.RU

Стоит ли в 2017 обмазываться JS'ом и его производными?

 , , , ,


2

3

Устал ждать этого вашего WebAssembly. Неизвестно когда из под флага вылезет (на сайте написано «может Q1 2017, а может и нет»), неизвестно сколько лет будут запиливать threads, GC / DOM integration, Coroutines, JIT и прочее.

TypeScript нормально же выглядит? Статически типизируемый, всё работает уже сегодня, разрабатывается честными людьми из организации, которая не лицемерит.

всё работает уже сегодня, разрабатывается честными людьми из организации, которая не лицемерит.

Поберег бы печенку людей от настолько жирного.

Akamanah ★★★★★ ()

разрабатывается честными людьми из организации, которая не лицемерит

хорошее начало, мне нравится

Ford_Focus ★★★★★ ()

TypeScript

вчерашний день же. elm, purescript, а то бородатые одноклассники засмеють

anonymous ()
Ответ на: комментарий от anonymous

elm — давно не новый и вообще, пора переходить на Reason.

x3al ★★★★★ ()
Ответ на: комментарий от Akamanah

ЕМНИП, эта организация лидер по поддержке легаси почти без регистрации и без смс. КМК, в контексте вопроса если и доверять, то им.

Shadow ★★★★★ ()

Использовать что есть. Если будешь использовать фреймворки на typescript и они тебе нравятся - используй смело. Для всего остального спокойно можно использовать либо es4 либо es6.

Все эти басни про грядующее светлое будущее оставь сказочникам. Пока они запилят реализацию - пройдёт 3-4 года. Пока это дело будет во всех браузерах так, чтобы оно работало, без всяких там отключений потому что нашли дыру в безопасности и прочего - ещё 3-4 года.

ixrws ★★★ ()

Стоит ли

Стоит

Deleted ()

threads

Есть сейчас w3c.workers

GC

Тут проблема, но можно и выкрутиться

DOM integration

Реализуемо своими руками на текущей базе

Coroutines

Тебе зачем? Решил на клиенте веб-сервер поднимать?

JIT

Есть в v8

TypeScript нормально же выглядит?

Нет, очередная попытка сделать джаву, дарт уже пытался и где он сейчас? Более того, очень жалко выглядят попытки транспилить популярные либы ES5 в TypeScript. В общем мертворожденное это всё.

foror ★★★★ ()

Стоит ли в 2017 обмазываться JS'ом и его производными?

От JS никуда не уйдешь, все HTML5 спеки построены на нём по умолчанию. Всё что можно сделать это попробовать отгородиться от этого безумия через статически типизированный ЯП с хорошей IDE (читай Java). Запилив статически типизированные фреймворки на этом ЯП.

foror ★★★★ ()
Последнее исправление: foror (всего исправлений: 1)

Стоит ли в 2017 обмазываться JS'ом и его производными?

Нет, только Haskell.

anonymous ()

TS - это очередная надстройка. Надстройки приходят и уходят, а язык остаётся. Юзай лучше чистый js, завезена куча плюшек, будет и ещё.

th3m3 ★★★★★ ()
Ответ на: комментарий от tailgunner

Статической типизацией и комплитом в IDE. Но мне и обычного JS хватает. Всё раво костыль на костыле, что с TS, что без.

Shadow ★★★★★ ()
Последнее исправление: Shadow (всего исправлений: 1)

К сожалению, до сих пор нет поддержки С в вебе. Приходится для веб-морд еще и говном-JS обмазываться...

anonymous ()
Ответ на: комментарий от linearisation

ага, поддержка всего, через вебъ-ассемблер, с разморозкой

anonymous ()

Устал ждать этого вашего WebAssembly

Зачем ждать? Начинай его учить. Когда выучишь, как раз можно будет использовать.

CYB3R ★★★★★ ()

я вот забил на транспиляторы и новый проект начинаю на ванильном es6 (и выше), используя все что мой хром и канарейка поддерживает. правда, проект мой личный, но посмотрим как с релизом пойдет. посчитаю потери клиентуры, доложу.

anonymous ()
Ответ на: комментарий от stave

Их же можно поставить вместе?
Ок. Я, чтобы пересобрать dll для одного старого сайта под .NET, ставил VS 2008 на комп с WinXP.

Shadow ★★★★★ ()
Ответ на: комментарий от foror

Есть сейчас w3c.workers

Может и есть, но сабж расставил приоритеты таким образом, что реализация threads в рамках проекта для них - задача с очень высоким приоритетом. Они будут над ней работать сразу после MVP. А вот GC / DOM, который хотят ЛОРовцы, на странице «nice to have», т.е. «придёт время, возможно, будет иметь смысл рассмотреть такую возможность».

Тебе зачем? Решил на клиенте веб-сервер поднимать?

Зачем ТСу не знаю, а так, например, лексеры реализовывать. Мало ли.

дарт уже пытался и где он сейчас?

Активно используется в корпорации монстров G. Вакансий всё время открытых про него, да про angular на careers сайте есть. А что в нём плохого, ну кроме 4 spaces вместо табуляции?

anonymous ()
Ответ на: комментарий от stave

И к чему ты это сказал? В .NET, приложение написанное на предыдущей версии превосходно будет работать и в следующей.
Или ты хочешь чтобы новые фичи работали в старых версиях? Такое бывает только в сказках.

ritsufag ★★★★★ ()

Нет конечно. Пиши на расте и компиляй в wasm.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от ritsufag

Правда? А зачем тогда в обычной системе зоопарк нетов от 3.5 до последних? Причём это рекомендации самой МС для МС скул.

stave ★★★★★ ()
Ответ на: комментарий от Shadow

Вместе - да. Но разные версии, выходит что, несовместимы.

stave ★★★★★ ()
Ответ на: комментарий от foror

Реализуемо своими руками на текущей базе

Каким образом? Я очень долго гуглил и пытался решить эту проблему. Ни в какую. Может есть какие-то секретные места, технологии? Поделись, пожалуйста.

anonymous ()

Стоит ли в 2017 обмазываться JS'ом и его производными?

Нет.

Lavos ★★★★★ ()

WebAssembly

threads, GC / DOM integration, Coroutines, JIT и прочее.

TypeScript

всё работает уже сегодня

ORLY?

ados ★★★★★ ()
Ответ на: комментарий от foror

Ну во-первых это не вебасм, а асмжс. Во-вторых это просто надстройка над кастылями емскриптена. Он(емскриптен) как не умел нормально(и вообще хоть как-то) работать с жс так и не умеет. Ну это и логично, ибо создавался для других целей.

У асмжс"а тонна проблем. Начиная от невероятной его избыточности и слабой поддержки - заканчивая отсутствием вообще какого-то смысла к его существованию. Без доступа к функциям броузера он как был бесполезной игрушкой - так и остался. И никаких подвижек в эту сторону нет. Не говоря уже о неспособности емскриптена собрать бутстрап для хелворда весом не 10мегабайт.

Был когда-то более вменяемый проект cheerp, но он протух и сдох давно так и не родившись.

В конечном итоге на нормальном языке в вебчике не попишешь. Остаётся только надеется на интеграцию броузера с вебасмом, но судя по всему надеждам не суждено сбыться в ближайшее столетие.

anonymous ()
Ответ на: комментарий от anonymous

Ты Ъ? Emscripten - компилятор LLVM IR -> JavaScript. Но в свою очередь имеет ряд разных backend'ов, например: https://github.com/kripken/emscripten/wiki/New-WebAssembly-Backend

Как следует из ссылки выше:

when using the WebAssembly backend in this manner, you do not actually need Emscripten's asm.js backend

Пока стабильной версии не было, компиляция, судя по всему, не сильно тривиальна, но возможна: https://hackernoon.com/compiling-rust-to-webassembly-guide-411066a69fde#.dldr...

anonymous ()
Ответ на: комментарий от foror

Блин, крутяк, даже DOM'ом манипулировать можно. Жаль, что только rust пока. Сложный он для дедушки анона.

anonymous ()
Ответ на: комментарий от anonymous

Emscripten - компилятор LLVM IR -> JavaScript.

В этом и его проблема.

Но в свою очередь имеет ряд разных backend'ов, например: https://github.com/kripken/emscripten/wiki/New-WebAssembly-Backend

Ты понимаешь вообще как работают эти кастыли, что линковали выше? Через рантайм уровня ЖС. Т.е. либо это либа на жс(как в емскриптене), либо инлайнжс + та же самая либа. Всё это работает только потому, что это асмжс, т.е. прежде всего жс и по умолчанию он совместим и может работать с жс. Типы у асмжс"а свои, но конвертировать можно.

В WebAssembly никакого жабаскрипта нет, а значит эти костыли не работают. Значит всё - никакого дома нет, интеграции с броузером(читай с жабаскриптом) так же нет.

Да и на уровне асмжс"а никакого дома нету. Никакой интеграции нету. Только через тонну кастылей.

anonymous ()
Ответ на: комментарий от anonymous

Блин, крутяк, даже DOM'ом манипулировать можно.

Нельзя. Это примитивный хелворд, который еле-еле тянет на лабу. Тебе просто дали пару обёрток над кастылями из емскриптена, которые могу кое-как позвать пару функций. Это не дом. Не броузер. Это позерство.

Жаль, что только rust пока.

К русту не имеет никакого отношения.

anonymous ()
Ответ на: комментарий от anonymous

А байткод васма утвердили, не знаешь? А то лень на гитхаб лезть разбираться...

foror ★★★★ ()
Ответ на: комментарий от anonymous

Ничего не понял из того, что ты написал, но если ничего не поменялось с момента прошлогоднего анонса, WebAssembly позволяет вызывать JS функции следующим образом:

extern void some_external_JS(int);

int main() {
  some_external_JS(42);
}

Т.е. с помощью временного glue файла WebAssembly уже таки может быть полезен даже для шатания DOM'а. А что ещё надо человеку, желающему альтернативы JS'у? Только GC для реализации божественного Go2Wasm.

MadDeer ()
Ответ на: комментарий от Kilte

Никогда естественно, речь про 3ю редакцию, ну вот так вот периодически описываюсь, помнится как-то дарога вместо дорога написал:)

ixrws ★★★ ()

TypeScript нормально же выглядит? Статически типизируемый, всё работает уже сегодня, разрабатывается честными людьми из организации, которая не лицемерит.

«Был у меня один друг, программировал на JS и бекенд и фронтенд, рассказывал, что всё круто, быстро, удобно, многопоточно. Сейчас он рехнулся, разумеется» (С) LOR

Быть джаваскриптизёром - самая стыдная работа, даже стыднее, чем «делать сайты», не уточняя, на чём именно. Обмазывайся в 2017 году НАСТОЯЩИМ языком программирования, любым, и ищи работу настоящим программистом.

Alve ★★★★★ ()
Ответ на: комментарий от MadDeer

Ничего не понял из того, что ты написал, но если ничего не поменялось с момента прошлогоднего анонса, WebAssembly позволяет вызывать JS функции следующим образом:

Где ты это видел? Только вот дом - это не функции и не с интами. Что делать с типами и классами?

Т.е. с помощью временного glue файла WebAssembly уже таки может быть полезен даже для шатания DOM'а.

Когда я смотрел доки по емскриптену никак нельзя было интегрировать жс-класс в С++-класс. Только наоборот через какие-то val-кастыли. Т.е. не прозрачно.

Если что-то там действительно есть и я не прав - это замечательно.

anonymous ()
Ответ на: комментарий от anonymous

Единственное реально преимущество. Язык - не жс. ESx фичи приезжают через год в лучшем случае. Релизы как в монге - читаешь ченжлог и думаешь как вообще этим люди пользовались все это время.

zz ★★★★ ()
Ответ на: комментарий от zz

Ну и непонятно при чем тут сравнение с flowType. Он точно такой же другой язык, как и тс.

anonymous ()
Ответ на: комментарий от anonymous

typescript лучше по всем параметрам

Чем лучше?

Сравни количество библиотек в DefinitelyTyped и flow-typed

Окей, но это один параметр.

Кроме того:

«October 13, 2016 by Jeff Morrison

[...]

Today, we are introducing flow-typed»

Я думаю, пока рано судить.

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Окей, но это один параметр.

Но ключевой для подобного рода инструментов. Кроме этого можно назвать значительные архитектурные ошибки.

Я думаю, пока рано судить.

Мы, вроде, обсуждаем то, что сейчас. Чего там будет в светлом будущем - не особо важно. Но учитывая черепашью скорость разработки flow-type и малый размер комьюнити, я в этом светлом будущем сомневаюсь.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.