Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Мой любимый JS-фреймворк (https://javascript.ru/forum/library-toolkit-framework/1125-mojj-lyubimyjj-js-frejjmvork.html)

WalterScott 03.03.2010 11:56

Цитата:

Сообщение от Riim (Сообщение 37565)
Только сейчас наткнулся, раньше вроде не видел, вот: http://echo.nextapp.com/site/echo3

Немного потестировал демки, очень качественно вроде и грузится быстро.

http://demo.nextapp.com/echo3csjs/ -> Next -> Configurability -> Вкладка Resize -> кнопки закрытия и разворачивания окна в правом верхнем углу.

Я, видимо, просто не умею ими пользоваться.

В IE при наведении мыши на кнопку next отображается ненайденная картинка. Ну ладно - это не в коде ошибка, просто невнимательность(наверное) .
В опере кнопок Next вообще нет, поэтому знакомство с демкой заканчивается на первой странице :victory:

scuter 16.03.2010 23:59

чесно говоря, ободрал весь нет в поиска фреймворков,
пока искал мне весь мозг продрали своими прототайпами, джекверами
и блин нихрена они не работают так как надо, я даже видел результаты тестирования этих фреймворков (Prototype самое дерьмо), и с документацией тоже самое и поэтому самый лучший оказался Ext,
но чено говоря непонятно только одно ExtJS не используют свой собственный фрейм ворк на своём собственном сайте хз почему.

Octane 17.03.2010 00:29

Цитата:

Сообщение от scuter
и блин нихрена они не работают так как надо

Может руки не от туда? А как надо? ;)

Gozar 17.03.2010 08:01

Цитата:

Сообщение от scuter (Сообщение 47939)
но чено говоря непонятно только одно ExtJS не используют свой собственный фрейм ворк на своём собственном сайте хз почему.

У вас не руки не от туда, а глаза не к тому месту приделаны.

http://www.extjs.com/assets/js/extjs.js

monolithed 04.09.2010 22:18

На работе использую jQuery, т.к. все на нем завязано, на своих проектах если есть необходимость в подключении какого-либо, то MooTools.

А вообще я не люблю ни один из них, т.к. любое координальное вмешательство в ECMAScript - это извращение (на мой взгляд).

Сейчас куча проектов которые дают возможности писать JavaScript код в синтаксисе Ruby, C и пр.

Зачем так издеваться над языком, который и так красив?!, нужно любить его использовать таким какой он есть!

MODist 04.09.2010 23:22

Допустим, надо мне сделать плавно раскрывающийся блок с ajax контентом. Я раз напишу с нуля код на native js, два напишу, после чего внесу весь код в отдельную функцию и буду копипастить эту функцию из проекта в проект? Потом добавим в файлик с этой функцией еще функцию, еще, еще... После чего получится релиз jQuery 0.1
Или вы будете каждый раз писать все руками на красивом нативном js?

Gozar 04.09.2010 23:40

Цитата:

Сообщение от MODist (Сообщение 69758)
После чего получится релиз jQuery 0.1

У меня таким манером получались скорее плагины, нежели релиз. Для релиза нужно написать что-нибудь глобальное ;)

`p r o x y 25.06.2011 01:48

Я то же долго время писал на нативном JS. Но вот проект за проектом встретились, в которых FW. Скрипты пишутся в 3 и более раз быстрее! И реализовать можно гаараздо больше. Имхо, FW рулят ^^

melky 25.06.2011 15:44

Цитата:

Сообщение от Riim (Сообщение 16795)

Мне кажется (точнее я даже уверен в этом), что популярен он от того, что легок в изучении. Можно неплохо освоить его даже при минимальном знании чистого javascript-а. Освоить в полной мере, например тот же mootools без хороших знаний javascript-а просто нереально. А много ли сейчас людей желающих разбираться во всех тонкостях "этого странного языка". Большинству нужно просто "налепить по-быстрому". Jquery дает им эту возможность и за это они готовы со слюной у рта доказывать, что он лучший, даже если толком не понимают плюсы других

.


качество плагинов для jQuery пропорционально от умения самих программистов, пишущих своё детище. Наверное, у каждого новоиспечённого JS-программиста (я отношу сюда себя. короче говоря, у кого "стаж" меньше 1,5 года). Когда я узнал про этот фреймворк. я долго, очень долго смотрел на демонстрации плагинов, удивляясь всему, что там прыгает, скачет да исчезает. Почему-то мне казалось, что так красиво делает не JS, а именно jQuery (вспомните парня с этого форума, который спрашивал про регулярные выражения в jQuery ). О том, что все эти красивости можно (сейчас для меня, нужно) делать на нативном JS, я и не подозревал.

потом прошло время, я прочитал многие статьи с этого сайта, 2 раза прочитал Фленегана. Конечно, я начал во многое вникать после этого. Потом на хабре появилась статья про недостатки $.animate() (а именно, как при анимировании штук 15 блоков они двигались неровно), прочитал на других ресурсах, почему jQuery - это плохо (на самом деле,это никак. но плохо,когда загружаешь 70кб только ради анимации и AJAX. Вы поняли, про что я. )

потом опять начал просматривать плагины для jQuery.. смотрел код и ужасался. В это время я уже знал про оптимизацию.

После этого всего я окончательно решил для себя - jQuery - для дизайнеров

Может, скоро и вы так решите :)

kobezzza 14.07.2011 22:30

Цитата:

но плохо,когда загружаешь 70кб только ради анимации и AJAX. Вы поняли, про что я.
Ну вообще то jQuery модулен, и можно делать свои сборки из необходимых вам модулей) https://github.com/jquery/jquery (редактируем Makefile), а затем собираем

Уж не знаю, может это привязанность, но я люблю jQuery, хотя соглашусь, что подавляющее большинство плагов и виджетов страшноваты, но мне как бы пофик, я 90% плагов всегда пишу сам)

Мне очень импонирует сама философия jQuery и её стиль. Никому ничего не навязываю, просто высказываю свою точку зрения.

tenshi 14.07.2011 23:59

ага, всего делов - поставить линух, интерпретатор яваскрипта, гит, а потом отключать модули и смотреть что сломается х)

kobezzza 15.07.2011 00:05

Я на винде делал, всё гут)

B@rmaley.e><e 15.07.2011 00:18

Цитата:

Сообщение от tenshi
ага, всего делов - поставить линух, интерпретатор яваскрипта, гит, а потом отключать модули и смотреть что сломается х)

Интерпретатор JS нужен только для минификации полученной сборки. Вместо линукса можно поставить cygwin (там и git, и make есть).

kobezzza 15.07.2011 00:29

Я лично сжимаю гуглом, скачал себе Java файлик, создал bat файлик, где прописал все нужные команды и радуюсь)

x-yuri 16.07.2011 10:48

Цитата:

Сообщение от B@rmaley.e><e
Вместо линукса можно поставить cygwin (там и git, и make есть).

сомнительное счастье, лучше уж в виртуальной машине. И коннектиться туда через putty :lol:

ctpz 16.07.2011 11:43

Сижу на jquery и вполне им доволен. Ни разу меня не подводил. К нему огромное количество лпагинов, которые чрезвычайно легко писать.

melky 16.07.2011 12:01

... и на нём так быстро писать, да?

ctpz 16.07.2011 12:20

Да.

trikadin 16.07.2011 13:23

melky, слишком толсто)

DjDiablo 09.10.2011 18:54

Что касается нативного кода.

Для меня дак и уровень jquery низковат. Поэтому и начал копать в направлении blackbone, javaScriptМVС и т.д. Критичные моменты можно и на нативном js писать (никто высокий и низкий уровень комбинировать незапрещал ). Обычно чем выше абстракция тем лучше.

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

Жертвовать деньгами инвестора только потому что на jquery писать не кошерно я неготов. Каждая милисикунда выигранного на нативе быстродействия, это лишняя сотня а порой и тысяча рублей заказчика. Лишнее время на создание нативных решений оплачивается чьим то карманом. По логике заказчик должен сам определить что для него критичнее скорость скрипта, или быстрая и как следствие дешёвая реализация.

DjDiablo 09.10.2011 19:33

Качество фреймворка походу вполне поддаётся измерению. И измеряется оно во времени потраченном на некое задание. Чем время меньше, тем фреймвок с экономической точки зрения, лучше. Для разных типов задач будут рулить разные фреймворки.

x-yuri 09.10.2011 22:32

DjDiablo, если "твой метод" работает для тебя, это не значит, что он всем подходит. Ты лучше продемонстрируй на примере его преимущества: сделай небольшой сайт и выложи исходники. Кого заинтересует, будут использовать. И не забывай, что чтобы ты пользовался кем-то созданными абстракциям, кто-то их должен создавать. ;)

DjDiablo 10.10.2011 01:07

Я не рекламировал сейчас никакой метод )) Я писал про экономическую точку зрения.

сравни три вида заданий.

создание/совершенствование фреймворка/быстрые фрагменты кода - нативный js.
Создание красивостей на сайте. Слайдеры и т.п - jquery/prototype
Создание сложных бизнес приложений c кучей диалогов и форм. - dogo/extjs

Частота встречаемости заданий приблизительно совпадёт с популярностью фреймворков. Я в этом почти уверен.
Немного завышенное количество нативщиков, это бывалые кодеры работающие по энерции на чём им удобно. Думаю их доля в общей массе будет постепенно падать,(впрочем незначительно), а специализация программистов возрастать

Писать бизнес приложение с кучей форм на голом js- слишком напряжное и длительное занятие, а красивости на Ext.Js слишком тяжёлые, фреймворк на ext.js не напишеш (покрайней мере в классическом понимании) :)

x-yuri - не мне тебе доказывать что всемогущих подходов несуществует. И спор что лучше топор или пила сам понимаешь что неуместен, и то и то позволяет разделять дерево на части, но совершенно по разному, и используется разный инструмент в разных ситуациях.

Илья Кантор думаю поставил вопрос исходя из потребности выяснить какие темы следует освещать на сайте в целях увелечения его посещаемости, а 7 страниц спора это побочный эффект ))

x-yuri 10.10.2011 02:42

Цитата:

Сообщение от DjDiablo
Я не рекламировал "свой метод",

возможно мне показалось...

Цитата:

Сообщение от DjDiablo
Писать бизнес приложение с кучей форм на голом js- слишком напряжное и длительное занятие.

не знаю, чем тебя формы так пугают. Но экономический вопрос - это только один из факторов. Есть такой анекдот про студентов и столовые:
Неделя после стипендии. Действует правило правой руки - закрываются цены, выбираются блюда.
Две недели после стипендии. Действует правило левой руки - закрываются названия, выбор по цене.
Неделя до стипендии. Действует правило буравчика - покрутился, повертелся и ушел.

Если исходить из имеющихся средств, может получиться еще один никому не нужный сайт. Если еще один никому не нужный сайт писать на нативном js, это будет overkill. Если требования у клиента не высоки скорее всего подойдет и jquery. Если высоки - тебе надоест копаться в jquery. Если сайт делается исходя из наличия плагинов для jquery - это хороший выбор, если нет - ты должен хорошо знать нативный js, но тогда зачем тебе jquery? Если ты сам себе программист, дизайнер, клиент и пользователь, то естественно приходится упрощать/абстрагироваться. Или искать инвестора.

Но самое главное, меня не устраивают существующие фреймворки, они не абстрагируют меня от наличия разных браузеров, их плагины не покрывают спектр задач, с которыми мне приходится сталкиваться, поэтому моя цель - нативный js. Кстати, нативный js - это не обязательно jquery-style написания кода (внутренний).

p.s. сорри, если был излишне резок...

Цитата:

Сообщение от DjDiablo
Илья Кантор думаю поставил вопрос исходя из потребности

я надесь, он не против такого развития темы

aleksp 28.12.2011 04:51

Подскажите, есть ли в природе MVC фреймворк, где аттрибуты у модели имеют гибкую настройку: наличие флага readOnly, контроль типов при присвоении, где есть встроенная возможность независимой валидации аттрибутов. Т.е. например attr1 и attr5 использует ajax-валидацию, attr2 - это safe-аттрибут, attr3 и attr4 - аттрибуты с контролем типа (string, integer и т.п.), а attr6 - валидацией локальной функцией.

monolithed 28.12.2011 08:53

aleksp,
все это вы и сами можете сделать

aleksp 28.12.2011 12:56

Можно и сделать, но зачем изобретать велосипед, если это уже сделано, учитывая огромное кол-во известных и неизвестных разработок.

danik.js 20.11.2012 03:55

x-yuri, а движок выборки по селекторам вы тоже каждый раз на pure js пишете? И анимацию css-свойств? И огромную кучу костылей для IE? Ajax, addEventListener, ClassList ...

Если вам не нужна поддержка всех браузеров, чтож, можно вам позавидовать в ваших проектах. Я бы и сам пользовался только querySelector, addEventListener, classList, XMLHttpRequest etc...

Если же нужна, то значит вы используете свою самописную кроссбраузерную библиотеку. Чем же она лучше скажем jQuery или Mootools ?

В плане кроссбраузерности - уверен что хуже. Может быть в нецепочном стиле вызовов? Тогда почему не Mootools ?

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

Цитата:

меня не устраивают существующие фреймворки, они не абстрагируют меня от наличия разных браузеров, их плагины не покрывают спектр задач, с которыми мне приходится сталкиваться, поэтому моя цель - нативный js
А нативный js абстрагирует от браузера? Покрывает все задачи? Плагины запрещено писать на pure js ?

В общем, много противоречий в ваших словах, не могли бы раскрыть свои мысли?

tenshi 20.11.2012 14:54

> а движок выборки по селекторам вы тоже каждый раз на pure js пишете?

а я не использую выборку по селекторам

> И анимацию css-свойств?

css-transitions

> И огромную кучу костылей для IE?

не всем требуется идеальная поддержка старых иешек

> Ajax, addEventListener,

тривиальные вещи

> ClassList ...

attributes удобнее

> вы используете свою самописную кроссбраузерную библиотеку. Чем же она лучше скажем jQuery или Mootools ?

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

> Плагины запрещено писать на pure js ?

а меня вот, кстати, убивает, что либы типа jquery-cookie, которым jQuery как таковой нафиг не нужен, оформляют в виде плагина.

melky 20.11.2012 20:16

Цитата:

Сообщение от tenshi
а я не использую выборку по селекторам

и правда. не понимаю, зачем она нужна, есть можно нужный элемент ID'шником пометить.

Цитата:

Сообщение от tenshi
css-transitions

херня эти переходы. инфа 100%

подойдут только для мелких и ненужных анимаций, типа плавного смена цвета ссылки при наведении.

(имхо, конечно же :))

css3 анимация напорядок мощнее той же анимации в jQuery, не говоря уже о переходах.
Цитата:

Сообщение от tenshi
attributes удобнее

чем?

tenshi 20.11.2012 20:34

> и правда. не понимаю, зачем она нужна, есть можно нужный элемент ID'шником пометить.

и айдишники не использую тем более)

> подойдут только для мелких и ненужных анимаций, типа плавного смена цвета ссылки при наведении.

а большего как правило и не надо.

> чем?

да хотябы даже тем, что значение может содержать произвольный текст

danik.js 23.11.2012 16:48

Вы наверное в параллельном мире живете ребята, раз вам хватает выборки по id + дети/соседи (кстати в ie8 есть свойства типа nextElementSibling ?) Анимация нужна только для анимирования цвета ссылки, а для css-классов нужно использовать невалидные значения.

Это в основном к tenshi конечно.

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

Я кстати, подумываю о подборке максимального числа костылей, реализующих нереализованные фишки в браузере. Я хочу писать на pure js, используя ajax, classList, querySelector, addEventListener и тд и тп, не задумываясь о поддержке браузера и не всовывая polyfill'ы в либу. Тоесть костыли должны динамически подгружаться если нужны. Хотя конечно придется свой код оборачивать в обертку для возможности вызова в момент готовности костылей.


Кстати, не подскажите, может что есть готовое? Интересует именно подборка polyfill'ов, и их динамическая подгрузка по необходимости.

tenshi 23.11.2012 17:45

> Вы наверное в параллельном мире живете ребята, раз вам хватает выборки по id + дети/соседи

ещё раз - я не использую id вообще.

> Анимация нужна только для анимирования цвета ссылки

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

> для css-классов нужно использовать невалидные значения

это о чём вообще?

tenshi 23.11.2012 17:49

> Тоесть костыли должны динамически подгружаться если нужны.

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

danik.js 23.11.2012 18:16

Сайт сайту рознь. Есть сайты где каждый лишний килобайт дорогого стоит. При этом % заходов с ИЕ довольно мал. Так зачем 80% пользователей должны грузить мертвый код?

Кстати, нашел то что мне нужно - http://yepnopejs.com/ + https://github.com/Modernizr/Moderni...wser-Polyfills

danik.js 23.11.2012 18:19

Вы там на западе зажрались совсем. Помимо городов-миллионников есть и по-меньше населенные пункты, и не везде так радужно с интернетом как у вас, вкурсе? Причем число пользователей тут также велико.

tenshi 23.11.2012 18:31

> Сайт сайту рознь. Есть сайты где каждый лишний килобайт дорогого стоит.

правда есть? тогда может тебя не затруднит дать ссылку на какой-нибудь из них?

tenshi 23.11.2012 18:37

Цитата:

Сообщение от danik.js (Сообщение 217490)
Вы там на западе зажрались совсем. Помимо городов-миллионников есть и по-меньше населенные пункты, и не везде так радужно с интернетом как у вас, вкурсе? Причем число пользователей тут также велико.

у нас как бы тоже 3g не везде ловит. и тем не менее любое более-менее сложное приложение весит гораздо больше чем костыли для устаревших браузеров. так что для пользователя _никакой_ разницы не будет. не веришь - проверь, а не выдумывай.

danik.js 24.11.2012 04:44

Выдумываю? Помню когда инет был совсем хилый (64кбит-128кбит) - заходил на сайт, жал F12 и наблюдал за процессом загрузки jquery или mootools, ибо ниче на сайте без них не работало. При этом у меня всегда обновленный браузер и я каждый раз недоумевал - какого хрена я сижу в ожидании загрузки хреновой тучи всяких костылей(чего только стоит движок sizzle или что там используется), в коих мой браузер не нуждается ?

Я согласен что в сложном приложении не стоит еще более усложнять, выделяя костыли в отдельные файлы (хотя нет, почему же, наоборот, можно огранизовать условную подгрузку), ибо там уж действительно нет разницы - 1.5мб грузить или 1.7мб

А вот другой случай - чел жаловался на долгую загрузку сайта. типичный сайт на джумле. после конкретной зачистки стало ясно, что оптимизировать больше нечего, разве что избавляться от jquery. Вот в таком бы случае и не помешало переписать все на purejs + асинхронная загрузка костылей по требованию (чтоб в ие все работало, но конечно пришлось бы чуть подождать, но ведь ие-юзеры не привыкли к скорости, так что все ок)

Вобще, мне не нравится тенденция подключения over 9000 кб кода, из которых реально используется (и будет использоваться) только процентов 30. Так что я начну использовать purejs + yepnope.js . Я думаю что purejs, нормально поддерживаемый браузером вполне удобен в большинстве случаев. В общем, я через некоторое время отпишу что у меня из этого вышло )

tenshi 24.11.2012 12:30

почему у тебя костыли ассоциируются с jq? есть куда более компактные шимы. если не брать в расчёт, конечно, всякие querySelector

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


Часовой пояс GMT +3, время: 14:01.