Комментарии 41
Это хорошая демонстрация того, что голым JS пользоваться невозможно, и многое из этих библиотек должно бы быть в языке.
Почему это? Просто у каждого популярного языка есть своя экосистема фреймворков, библиотек и т.п. Для руби, например, это ruby-toolbox.com Там я всегда нахожу нужные мне гемы. Точно та же идея была при создании jster.
Это не вполне так.
Для руби не существует распространённых препроцессоров, в то время как кофескрипт (Coffeescript) бешено популярен, и Бернард Эйх хочет включить его элементы в ECMAscript 6. Синтаксис яваскрипта позавчерашен, никто не хочет писать
Рубигемы адресуют элементы конкретной функциональности, API и подобное, в то же время как библиотеки типа jQuery меняют в принципе способ обращения с броузерным окружением, то есть с тем, для чего язык был вообще создан. А всё почему? Потому что никто не хочет писать
Объектная модель в руби понятна и консистентна, итераторы, map и reduce, всё в стандартной библиотеке. Яваскрипт же, наряду с не всем приятной прототипной моделью, имеет множество странностей (42.toString() — fails; 42..toString --ok), которые вызывают к жизни как сонмы библиотек, так и сайты наподобие wtfjs.com. (да, я знаю, wtfruby тоже есть)
При этом в отличие от руби, который можно более или менее свободно выбрать в качестве языка для бэкенда, с яваскриптом вам приходится жить так или иначе, ибо это единственный язык в броузерных средах, и занятия им несколько более вынуждены.
Для руби не существует распространённых препроцессоров, в то время как кофескрипт (Coffeescript) бешено популярен, и Бернард Эйх хочет включить его элементы в ECMAscript 6. Синтаксис яваскрипта позавчерашен, никто не хочет писать
"(function(x){return x(function(y){return z(y);});})();
" и т.п., особенно на подъёме популярности фреймворков на основе node.js, навязывающих асинхронный функциональный стиль. Такое количество скобок выносит текст за пределы восприятия.Рубигемы адресуют элементы конкретной функциональности, API и подобное, в то же время как библиотеки типа jQuery меняют в принципе способ обращения с броузерным окружением, то есть с тем, для чего язык был вообще создан. А всё почему? Потому что никто не хочет писать
var frm_element = document.getElementById('subscribe_frm');
Объектная модель в руби понятна и консистентна, итераторы, map и reduce, всё в стандартной библиотеке. Яваскрипт же, наряду с не всем приятной прототипной моделью, имеет множество странностей (42.toString() — fails; 42..toString --ok), которые вызывают к жизни как сонмы библиотек, так и сайты наподобие wtfjs.com. (да, я знаю, wtfruby тоже есть)
При этом в отличие от руби, который можно более или менее свободно выбрать в качестве языка для бэкенда, с яваскриптом вам приходится жить так или иначе, ибо это единственный язык в броузерных средах, и занятия им несколько более вынуждены.
[Мат], сколько можно? Не понимаете язык — пользуйтесь другим и не срите в чужой огород.
> с яваскриптом вам приходится жить так или иначе, ибо это единственный язык в броузерных средах, и занятия им несколько более вынуждены.
Ну возьмите Dart. А вообще посмотрите в вики CoffeeScript на гитхабе, там куча компиляторов из C, C#, Lisp-а и даже Haskell-а в JS.
Не нравится JS — не пользуйтесь. Не нравится голый — подключайте фреймворки.
Ну возьмите Dart. А вообще посмотрите в вики CoffeeScript на гитхабе, там куча компиляторов из C, C#, Lisp-а и даже Haskell-а в JS.
Не нравится JS — не пользуйтесь. Не нравится голый — подключайте фреймворки.
А всё почему? Потому что никто не хочетГоворите за себя. Я уже шесть лет пишу различного уровня сложности приложения (именно приложения, а не rich сайты), когда выбор выпадает на JS, всегда пользуюсь ванилой, изредка приправляя ее различным third party code. Причем map, reduce, some, let, yeld и прочее, уже есть в большинстве реализаций JS, в других случая большинство этих вещей реализуются программно. С прямыми руками на JS возможна реализация высоких абстракций и практически всех популярных паттернов.
JS виноват только в том, что в отличие от других популярных языков, он требует другого подхода.
блиотеки типа jQuery меняют в принципе способ обращения с броузерным окружениемПоложа руку на сердце, нужно признать, что jQuery сам по себе большой антипатерн. Это вам и God object, и глобальные переменные, и размытие предметной области, и самое главное — он заставляет писать т.н. DOM Driven Applications, что возможно хорошо для сайтов, но губительно для SPA и RIA. Нужно признать что для этих целей есть множество других замечательных фреймворков.
Я кстати уже писал в то время когда зарождался Jquery, и заметил резкое падение уровня JS программистов. Теперь приходя на собеседование, парень может кое-как рассказать про объектную модель JS, но что-то по теории функционального или объектного программирования спрашивать, зачастую, бесполезно.
(42.toString() — fails; 42..toString --ok),Тут всё логично. Причем в JS есть много действительно интуитивно непонятных вещей, например результат работы конструктора, когда он возвращает примитив, и когда он возвращает объект. Но почитав спецификацию, поведения языка становится абсолютно предсказуемым и понятным.
42.toString() — fails; 42..toString --ok
А в чём проблема?
В данном контексте после точки должна идти дробная часть.
Запись
42..toString
равносильна записи 42.0.toString
Или же вы можете использовать скобки
(42).toString
Да нет проблемы. Всё я знаю и про дробную часть и про то, как надо. Просто в других языках почему-то такой вопрос вообще не встаёт (
42.to_s
), несмотря на то, что дробные числа тоже существуют. Просто если бы изначально в языке был достойный инструментарий для работы с тем же типом Number, такие вот особенности в стандарт бы явно не просочились.Голым js пользоваться не возможно? Не смешите вполне возможно и не очень и тяжело если знать язык.
Голым JS пользоваться очень даже можно, и более того — нужно.
Нам в Мэйл.ру как раз сейчас нужен js-программер, который умеет пользоваться голым JS, так что если ты такой js-программер, и хочешь участвовать в разработке больших проектов для миллионов людей, и иметь за это всевозможные плюшки — пиши мне в личку :)
Нам в Мэйл.ру как раз сейчас нужен js-программер, который умеет пользоваться голым JS, так что если ты такой js-программер, и хочешь участвовать в разработке больших проектов для миллионов людей, и иметь за это всевозможные плюшки — пиши мне в личку :)
Нам на JSter как раз нужны рекламодатели, которым нужны люди, которые умеют пользоваться голым JS. Так что если вы — такой рекламодатель и хотите поддержать развитие большого проекта по каталогизациии всех яваскрипт библиотеки, и иметь за это всю возможную рекламу и потенциальных сотрудников — пишите в личку :)
Как отредактировать добавленную библиотеку?
Мы хотели ввести систему наподобии вики, но это бы отняло слишком много времени. Так что решили оставить просто несколько модераторов. Можете стать им, а можете просто отписать в комментариях к библиотеке, что стоит исправить.
Вики мы введем, но чуть позже. Есть уже идея, но пока нет времени на реализацию.
Вау, замечательно!
Ссылки на official site выдают 404
В какую подкатегорию попадают средства запуска джаваскриптовых (+HTML5, +CSS3) GUI-приложений — node-webkit и AppJS?
Они не написаны на JavaScript, но ведь и имеющийся у Вас на сайте Node.js на них не написан, а они расширяют Node, переходя из консоли (и от серверных приложений) во браузероподобное окошко (и в область клиентского GUI).
Так что в «ServerSide» они не годятся; нужна подкатегория Client GUI, куда помимо вышеизложенных приложений попадёт, например, XULRunner.
Они не написаны на JavaScript, но ведь и имеющийся у Вас на сайте Node.js на них не написан, а они расширяют Node, переходя из консоли (и от серверных приложений) во браузероподобное окошко (и в область клиентского GUI).
Так что в «ServerSide» они не годятся; нужна подкатегория Client GUI, куда помимо вышеизложенных приложений попадёт, например, XULRunner.
Начало второго абзаца вышло не очень ясным.
Я желал сказать в нём, что Node.js попал на сайт JSter не за то, что Node написан на джаваскрипте (совсем напротив: значительная часть кода Node использует Сиили Си++, хотя есть и джаваскриптовая часть), а за то, что умеет запускать серверные (и клиентские консольные) приложения, написанные на джаваскрипте.
А значит, по аналогии с Node, на сайт следовало бы добавить и средства, служащие для запуска графических (GUI) приложений, написанных на джаваскрипте же, сдобренном тем или иным языком разметки (HTML, XUL и др.)и CSS-оформлением. Таковы, прежде всего, три средства: node-webkit, XULRunner и AppJS.
Я желал сказать в нём, что Node.js попал на сайт JSter не за то, что Node написан на джаваскрипте (совсем напротив: значительная часть кода Node использует Си
А значит, по аналогии с Node, на сайт следовало бы добавить и средства, служащие для запуска графических (GUI) приложений, написанных на джаваскрипте же, сдобренном тем или иным языком разметки (HTML, XUL и др.)
Недурно. Добавьте, пожалуйста, еще тип лицензии.
> В нем уже почти 700 библиотек (в основном open-source)
Думаю, любая библиотека на JS — open source.
Порадовал раздел Selector Libraries, это я его когда-то создал и заполнил на jswiki :).
Было бы здорово около каждой библиотеки сделать кнопочку, которая открывает окошко с кодом-примером использования библиотеки.
Думаю, любая библиотека на JS — open source.
Порадовал раздел Selector Libraries, это я его когда-то создал и заполнил на jswiki :).
Было бы здорово около каждой библиотеки сделать кнопочку, которая открывает окошко с кодом-примером использования библиотеки.
Миш, идея отличная, но дизайн так себе. Давай подсобим.
А что не так с дизайном?
Давай исправим дизайн, но в другом подобном проекте, чуть для другого языка :)
Как ты насчет этого?
Как ты насчет этого?
Если ты о симфохабе, то я отдаю предпочтение knpbundles.com/ :)
Или ходят на него люди?
Или ходят на него люди?
jster.net/library/moqups Почему данная штука у вас? Это ведь не библиотека, а рабочий продукт и который даже не open source
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
JSter – все, что нужно для Javascript