Флудилка ушибленных яваскриптом
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Флудилка ушибленных яваскриптом
Наткнулся на просторах этих ваших гитхабов на занятное: движок для roguelike на javascript.
В комплект входит несколько генераторов, несколько библиотек для FOV, поиск пути по Дейкстре и А* и ещё некоторое количество всяких приятностей.
В комплект входит несколько генераторов, несколько библиотек для FOV, поиск пути по Дейкстре и А* и ещё некоторое количество всяких приятностей.
Dump the screen? [y/n]
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: rot.js
На местной wiki даже есть неоконченный перевод туториала, использующего rot.js (а вот страницы про библиотеку увы нет).
Пытается раскуклиться
Re: rot.js
Пользуйтесь поиском
http://rlgclub.ru/forum/viewtopic.php?f=7&t=1003
http://rlgclub.ru/forum/viewtopic.php?f=7&t=1003
Re: rot.js
Чистый жаваскрипт - один из худших языков в природе. Впрочем, нормальные либы типа jQuery уже можно пользовать, они прикрывают многие дыры.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Re: rot.js
Чистый яваскрипт на сегодняшний день умеет делать с DOM-деревом почти всё, что умеет jQuery. Node.js вообще использует ECMAScript 6 — с кучей всего, включая классы. Хотя ничего хорошего про классы в JS я сказать не могу. Жду, когда добавят поддержку Proxy (что-то типа magic-функций в PHP/Lua) — жизнь местами станет более интересной.Anfeir писал(а):Чистый жаваскрипт - один из худших языков в природе. Впрочем, нормальные либы типа jQuery уже можно пользовать, они прикрывают многие дыры.
В любом случае, лично мне Lua как скриптовый язык кажется куда более продуманным.
Dump the screen? [y/n]
Re: rot.js
Охохо, для меня лично это вообще больной вопрос. После питонификации сознания писать на js очень, очень больно. Ограниченно спасает фреймворк - тот же ember очень так неплохо позволяет пилить довольно сложные сайты без влипания в лапшекод (в который неизбежно превращаются сайты на том же jq, если ты не разраб 100-го левела), но даже так контактирования с хреново спроектированным языком не избежать. Кофискрипт не панацея, он тоже не очень - отчасти, как раз потому, что пытается быть похожим на js.
Всё вышесказанное - ИМХО, если не указано обратное.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Re: rot.js
jq — это, строго говоря, не средство для разработки сайтов. Это просто вспомогательная библиотека для работы с DOM-деревом. Точно так же как lodash/underscore призваны разруливать типовые операции над массивами/объектами, а async (для любителей промисов — всякие богомерзкие q) — для развёртки асинхронного кода. Хотя опять же в ES6 напихали всяких елдов, но я с ними пока мало общался.Феникc писал(а):Охохо, для меня лично это вообще больной вопрос. После питонификации сознания писать на js очень, очень больно. Ограниченно спасает фреймворк - тот же ember очень так неплохо позволяет пилить довольно сложные сайты без влипания в лапшекод (в который неизбежно превращаются сайты на том же jq, если ты не разраб 100-го левела), но даже так контактирования с хреново спроектированным языком не избежать. Кофискрипт не панацея, он тоже не очень - отчасти, как раз потому, что пытается быть похожим на js.
«Тяжёлые» фреймворки, типа ember, angular иже с ними — это уже более-менее основной инструмент, но, откровенно говоря, в последнее время они меня раздражают все. Хочется иметь простой angostic инструмент, к которому тот же бутстрап не надо прикручивать ржавой проволокой и third-party-магией, которая ломается через релиз.
Серверный JS — чуть-чуть другая история, потому что там много своих вкусностей и не надо ломать голову над кросс-браузерной совместимостью.
Кофескрипт (как и его злобный братец TypeScript) — это языки которые пытаются сделать из JS, что-то чем он не является, в итоге выкидывая то, что JS делает хорошо, чтобы добавить синтаксического сахара и сымитировать то, что JS делает плохо.
Dump the screen? [y/n]
Re: rot.js
Да. Проблема в том, что некоторые jq в таком качестве всё же используют... И я врагу бы не пожелал потом всю это лапшу поддерживать и допиливатьМаксим Кич писал(а):jq — это, строго говоря, не средство для разработки сайтов. Это просто вспомогательная библиотека для работы с DOM-деревом. Точно так же как lodash/underscore призваны разруливать типовые операции над массивами/объектами, а async (для любителей промисов — всякие богомерзкие q) — для развёртки асинхронного кода. Хотя опять же в ES6 напихали всяких елдов, но я с ними пока мало общался.
Всё вышесказанное - ИМХО, если не указано обратное.
Re: rot.js
Современные плюшки в javascript - это, бесспорно, плюс. Ну а node.js - всё же вещь сомнительная: во-первых, тем, что таки придётся писать на жаваскрипте .) а во-вторых, насколько я слышал, уровень корявости существующих библиотек превышает разумные пределы.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Re: rot.js
С node.js надо иметь в виду, что он сделан под конкретные задачи и на оперативном просторе он реально рулит. И надо понимать, когда нужен node, а когда проще взять какой-нибудь yii2 и не выламывать себе руки. Или надо выломать руки по полной и взять какого-нибудь энтерпрайзного монстра — потому что люди тридцать лет наворачивали систему вот для этого класса задач и там человекочасы давно за миллион перевалили. В общем,Anfeir писал(а):Ну а node.js - всё же вещь сомнительная: во-первых, тем, что таки придётся писать на жаваскрипте .) а во-вторых, насколько я слышал, уровень корявости существующих библиотек превышает разумные пределы.
Основные библиотеки, типа express.js или того же lodash — в node.js достаточно вменяемые. Биндинги под основные СУБД и всякие хипстерские монги — в наличии . Биндинги под основные пакеты типа gm, или там phantom — есть и работают. Если не тянуть зависимости без разбора — можно вполне нормально работать.
Но сразу скажу, самодисциплины node требует адской. Я в какой-то момент почувствовал, что мой проект превращается в абсолютно неподдерживаемый трэш. Я уже клял всё на свете за то, что решил на node что-то писать. А потом вдруг нашлось очень простое решение, которое всё привело к красивой схеме. И сейчас мне работа с этим проектом доставляет удовольствие.
Прикидываю, не попробовать ли на node.js рогалик сделать онлайновый.
Dump the screen? [y/n]
Re: rot.js
Да уж... правда, чем длинней история и чем больше индусов вовлечено в разработку, тем сильнее эти миллионы человекочасов имеют результатом окаменелое говно мамонтов... типа оракла, дб2, вебсферы, (с чем сейчас приходится на работе иметь дело).Максим Кич писал(а):Anfeir писал(а):Или надо выломать руки по полной и взять какого-нибудь энтерпрайзного монстра — потому что люди тридцать лет наворачивали систему вот для этого класса задач и там человекочасы давно за миллион перевалили.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Re: rot.js
Юмор ситуации в том, что окаменелое говно мамонтов всё равно оказывается более стабильным, совместимым и лучше задокументированным, чем очередная хипстерская безделушка, которую хайпят на всех конференциях в этом году, и которая уж точно убьёт технологию умирающую дольше, чем оные хипстеры живут на белом свете (а заодно прикончит самую хайповую технологию прошлого сезона).Anfeir писал(а):Да уж... правда, чем длинней история и чем больше индусов вовлечено в разработку, тем сильнее эти миллионы человекочасов имеют результатом окаменелое говно мамонтов... типа оракла, дб2, вебсферы, (с чем сейчас приходится на работе иметь дело).Максим Кич писал(а):Anfeir писал(а):Или надо выломать руки по полной и взять какого-нибудь энтерпрайзного монстра — потому что люди тридцать лет наворачивали систему вот для этого класса задач и там человекочасы давно за миллион перевалили.
Вот, боль моей души: «тяжёлые» клиенты (которые angular, backbone иже с ними). Ну и хит от корпорации убившей UX — React. Хайп вокруг убившего всех и вся реакта — это отдельная песня о том, что лучший комбайн — это кабина малолитражки. И 100500 способов, как прикрутить к этой кабине подходящую ходовую часть и мотовило. Справедливости ради надо сказать, что «типа-энтерпрайзный» Ext.js не слаще. В мире браузерного js реально нет подходящей давно умершей технологии (ну разве что многократно перезахороненный jQuery, но его одного мало).
Dump the screen? [y/n]
Re: rot.js
А в чём проблема тяжелых клиентов, кроме того что они, собственно, немного тяжёлые? Вес-то у них приемлим обычно, а вот отзывчивость на всём, что чуть постарше многократно упоминаемого здесь говна мамонта - куда лучше.
Всё вышесказанное - ИМХО, если не указано обратное.
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Re: rot.js
Ну, во-первых тяжёлые клиенты сами по себе никакой отзывчивости не реализуют. Во-вторых, как ни парадоксально, они мешают её реализовать. Ну, точнее не сами клиенты, а фреймворки под них. Потому что все они любят вступать в близость с DOM-деревом и не любят, когда то же самое пытается сделать, скажем, bootstrap. Поэтому есть обёртки и форки бутстрапа под каждый тяжёлый фреймворк, но сюрприз-сюрприз — вот этот конкретный плагин, который сэкономит нам кучу времени, с нашей обёрткой почти наверняка будет несовместим.Феникc писал(а):А в чём проблема тяжелых клиентов, кроме того что они, собственно, немного тяжёлые? Вес-то у них приемлим обычно, а вот отзывчивость на всём, что чуть постарше многократно упоминаемого здесь говна мамонта - куда лучше.
То есть, в принципе, я прекрасно понимаю почему это так. Что сделать реактивного агностика практически нереально. И я понимаю, что, во многом, идеология тяжёлого клиента ещё не до конца сложилась. Но когда задачу надо решать здесь и сейчас — от этого как-то не легче.
Dump the screen? [y/n]
Re: rot.js
Ящитаю что просто вся идеология web-разработки ещё до конца не сложилась. И, кстати, я более чем уверен что проблема тут как минимум наполовину в самом js, который как язык - плох. Взять тот же ember - там ведь половина базовых вещей реализуется с нуля. Или, например, незабвенный left-pad, в ситуации вокруг которого все почему-то хейтят npm, а надо - js, в котором даже такая базовая функциональность требует костылей -_- Не знаю как можно делать что-нибудь более-менее сложное на языке, не дающем никаких гарантий, где практически все вещи, являющиеся обыденностью в любом современном высокоуровневом языке надо реализовывать самому или же брать с npm. То есть, конечно, знаю - плакать и кушать кактус, мы ж, разрабы, сильные и умные, справимся и с таким - но лично я этим заниматься не желаю.
Но, вообще говоря, сейчас схема [бэкенд с api + web-клиент (с опциональным серверным пререндерингом) + мобильные клиенты + стэндэлон клиент + тонны ботов] потихоньку становится стандартом де-факто. В её рамках тяжёлые клиенты дико расцветут - потому что мощности современных компутеров и оптимизации браузеров уже позволяют перекладывать всю логику визуализации на пользователя. И потому что хочется непрерывности, когда страница рисуется сразу после клика на ссылку, и плевать что ради этого "сразу" оперативка забита префетченными неиспользуемыми данными - для чего она мне ещё нужна-то?
Так что светлое будущее веба лежит на стороне клиента. После внедрения wasm, портирования на него хотя бы того же питона и написания под него нормального клиентского фреймворка (вангую что скрестят django и ember) я с облегчением вздохну и, возможно, даже стану натуральным full-stack'ом, тогда как сейчас фронтэнд я терпеть ненавижу, хоть делать его и приходится.
Думаю, это всё будет реализовано уже году к двадцатому и примерно тогда же "старые" фреймворки - та же джанга, рор и всякие пхп-базед - сильно потеснятся, потому что они даже уже сейчас морально устаревают, превращаясь в красивый адаптер бд-апи, следящий за пермишнами, исключительно к которому их роль вскоре и сведётся. Ну а вся логика визуализации, повторюсь, окончательно ляжет на тяжёлые клиенты, которые к тому моменту от детских болезней, на которые Максим жалуется, по большей части уже избавятся.
Что там дальше будет? Чёрт его знает. Думаю, браузеры научатся рендерить странички в отдельные окна ОСи (хотя они и так это уже умеют, те же хром-аппы) и все стэндэлон приложения потихоньку переберутся полностью в html+css, а браузер глубоко интегрируется с кишками системы (как chromeos, ага-ага) и как отдельное окошко вовсе исчезнет. Что смешно, пишу я это сообщение из Vivaldi (chromium-based браузер для любителей старой оперы), чей интерфейс полностью реализован именно на web-технологиях, хехе. Его можно даже его же встроенным отладчиком его прямо в режиме онлайн исследовать и менять.
Уфф, чего-то растёкся я мысию по древу - очень уж накипело. Пожалуй, тему надо переименовать в "Javascript" и унести в "За жизнь", тем более что по rot.js темка-то уже есть
Но, вообще говоря, сейчас схема [бэкенд с api + web-клиент (с опциональным серверным пререндерингом) + мобильные клиенты + стэндэлон клиент + тонны ботов] потихоньку становится стандартом де-факто. В её рамках тяжёлые клиенты дико расцветут - потому что мощности современных компутеров и оптимизации браузеров уже позволяют перекладывать всю логику визуализации на пользователя. И потому что хочется непрерывности, когда страница рисуется сразу после клика на ссылку, и плевать что ради этого "сразу" оперативка забита префетченными неиспользуемыми данными - для чего она мне ещё нужна-то?
Так что светлое будущее веба лежит на стороне клиента. После внедрения wasm, портирования на него хотя бы того же питона и написания под него нормального клиентского фреймворка (вангую что скрестят django и ember) я с облегчением вздохну и, возможно, даже стану натуральным full-stack'ом, тогда как сейчас фронтэнд я терпеть ненавижу, хоть делать его и приходится.
Думаю, это всё будет реализовано уже году к двадцатому и примерно тогда же "старые" фреймворки - та же джанга, рор и всякие пхп-базед - сильно потеснятся, потому что они даже уже сейчас морально устаревают, превращаясь в красивый адаптер бд-апи, следящий за пермишнами, исключительно к которому их роль вскоре и сведётся. Ну а вся логика визуализации, повторюсь, окончательно ляжет на тяжёлые клиенты, которые к тому моменту от детских болезней, на которые Максим жалуется, по большей части уже избавятся.
Что там дальше будет? Чёрт его знает. Думаю, браузеры научатся рендерить странички в отдельные окна ОСи (хотя они и так это уже умеют, те же хром-аппы) и все стэндэлон приложения потихоньку переберутся полностью в html+css, а браузер глубоко интегрируется с кишками системы (как chromeos, ага-ага) и как отдельное окошко вовсе исчезнет. Что смешно, пишу я это сообщение из Vivaldi (chromium-based браузер для любителей старой оперы), чей интерфейс полностью реализован именно на web-технологиях, хехе. Его можно даже его же встроенным отладчиком его прямо в режиме онлайн исследовать и менять.
Уфф, чего-то растёкся я мысию по древу - очень уж накипело. Пожалуй, тему надо переименовать в "Javascript" и унести в "За жизнь", тем более что по rot.js темка-то уже есть
Всё вышесказанное - ИМХО, если не указано обратное.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 58 гостей