Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   модульность мутузла (https://javascript.ru/forum/library-toolkit-framework/20550-modulnost-mutuzla.html)

melky 09.08.2011 12:36

модульность мутузла
 
понравился mootools, скоро совсем пересяду на него, но все время бросается в глаза его единственный минус - он столько всего реализует, что крыша едет, и едет она от количества не очень нужных функций в прототипах, типа трая (try).

зачем это всё? String.repeat, Element.grab, et cetera - все это хавает драгоценные мозги и место. (на самом деле, меня тошнит просто от такого. я не хочу воспринимать его как супер-робота, умеющего все, а какой-нибудь веник, которым можно драться, подметать, ещё что-нибудь)

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

что такое "превратить" ? выделил -> backspace, повторять, пока не возрадуюсь :)

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

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

Serg_pnz 09.08.2011 13:29

Зачем его обрезать, когда сами разработчики дают инструмент по набору функций как самого ядра, так и расширений:
http://mootools.net/core/
http://mootools.net/more/

melky 09.08.2011 16:02

блджад, я слепой. извините за беспокойство

x-yuri 11.08.2011 20:37

а я вот сейчас на rightjs посматриваю. Но если тебя так интересует отсутствие лишнего функционала... ты либо на crossjs переходи, либо расслабься и получай удовольствие ;)

melky 11.08.2011 21:04

нуждаюсь в "книжке с рецептами".. можно и самому себе написать, но лень... да и возраст не позволяет писать долгоживущий понятный код... все время куда-то тороплюсь.

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

а именно, мне нужно :
  • быстрые операции с DOM (быстренько набрал функцию и все зашибись.. типа Element.inject у мутулзб $.append y jq)
  • функции эффектов (Анимирования, Drag`n`Drop, Accordition, Slide... fadeIn, fadeOut , et cetera)
  • хранение -> Cookies, Storage
  • быстрая работа с событиями (т.е. сглаживание браузерных междоусобиц в событиях)
  • механизм селекторов ( $(sel) B jq, $$(sel) в mt );
  • быстрое создание элементов ( как по селектору в mootools.. )

как-то так.

не знаете ничего похожего? был бы рад, если бы вы порекомендовали чего.

x-yuri 12.08.2011 03:01

ну вот в mootools это все есть... да и в какой библиотеке этого нету? Или тебе важна производительность? Тут я не знаю, не сравнивал. Не хочешь тянуть за собой кучу лишнего кода? Ну да, в mootools есть builder. По поводу других библиотек не знаю, не интересовался.

Цитата:

Сообщение от melky
да и возраст не позволяет писать долгоживущий понятный код... все время куда-то тороплюсь.

а чем jquery тогда не устраивает?

rightjs меня заинтересовал потому, что на первый взгляд похож на продолжение jquery, mootools и... ruby :) Правда внутрь я еще не заглядывал. Но, может быть, все это не так уж и нужно, так что еще один вариант для меня - crossjs и brick.

Serg_pnz 12.08.2011 08:53

Хорошие примеры были для 1.11 http://demos111.mootools.net/
Но сейчас синтаксис изменился, но поглянуть что к чему можно.

melky 12.08.2011 10:29

благодарю за ответы :)
Цитата:

Сообщение от x-yuri (Сообщение 119935)
а чем jquery тогда не устраивает?

я хочу более низкоуровневый фр-ок.

prototype почитал, очень понравился. похож на mt. Хотя... это кто еще на кого похож :)

Цитата:

Сообщение от x-yuri (Сообщение 119935)
rightjs меня заинтересовал потому, что на первый взгляд похож на продолжение jquery, mootools и... ruby :) Правда внутрь я еще не заглядывал. Но, может быть, все это не так уж и нужно, так что еще один вариант для меня - crossjs и brick.

crossjs читал код на гите. долго читал. что-то не то.

походу я сделал свой выбор - prototype || mootools. а вот что выбрать - буду еще думать :)

мб просто сделаю так : возьму прототайп и понатырю оттуда функций. а остальной функционал сам допишу (это будет анимация и сраные аккордеоны, эт сетера)

Kolyaj 12.08.2011 11:04

Цитата:

Сообщение от melky
crossjs читал код на гите. долго читал. что-то не то.

По коду там непонятно, что с эти вообще делать и для чего он. Основной класс там Widget, основа для кирпичиков из которого можно построить масштабируемое приложение любой сложности. А если какой-то виджет понадобится в другом проекте, то просто подключаешь файл с этим виджетом в проект и используешь его. Он абсолютно точно не поломает ничего в проект, а если проект на crossjs, то и виджет точно не поломается.

Если интересно, могу сделать пример виджета.

Цитата:

Сообщение от melky
мб просто сделаю так : возьму прототайп и понатырю оттуда функций. а остальной функционал сам допишу (это будет анимация и сраные аккордеоны, эт сетера)

crossjs несколько лет назад так и рождался :)

Kolyaj 12.08.2011 11:05

А Brick задумался, как библиотека виджетов, но пока там только Popup, но зато он для меня самый востребованный :)

melky 12.08.2011 11:13

Цитата:

Сообщение от Kolyaj (Сообщение 119962)
Основной класс там Widget

звучит интересно. как раз виджета я не читал :)

пропустил с мыслью : нафиг мне календарики и др.?

виджеты у меня ассоциируются с этим.
спасибо за наводку. еще полистаю crossjs, не буду писать велосипеды

Kolyaj 12.08.2011 11:13

Про размеры кода.

Для больших приложений нет смысла crossjs дробить по функционалу, он весь после обфускатора (до gzip) весит 20 кб. Однако, если очень важен каждый килобайт, то можно дробить не только по файлам, но и по кускам файлов.

Например, я сделал себе мобильный интерфейс для Яндекс.Подписок http://78.24.221.155/, там каждый килобайт на счету, т.к. при работе на EDGE скорость мягко говоря никакая. В результате получился js-файл на 12 кб, содержащий всю вёрстку и все стили (динамики там никакой нет). Содержимое передаётся на страницу в JSON, единственный js-файл закеширован, в результате на каждый запрос приходит ответ в ~1кб. Единственная беда пока это картинки, которые могут быть слишком большими, да и вообще для них отдельный запрос делается. Если от этого избавиться будет вообще сказка.
Там, кстати, не обрабатывается ситуация, когда вы не пользуетесь подписками, будет ошибка вылезать.

Kolyaj 12.08.2011 11:14

Цитата:

Сообщение от melky
еще полистаю crossjs, не буду писать велосипеды

Можно почитать http://alljs.ru/crossjs/ и спрашивать меня. :)

melky 12.08.2011 11:40

о! примерчики.

как возникнут вопросы, буду постить сюда :)

кому пригодится может


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