Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2015, 18:47
Аспирант
Отправить личное сообщение для pandasensey Посмотреть профиль Найти все сообщения от pandasensey
 
Регистрация: 24.02.2010
Сообщений: 55

Масштабирование своего скрипта: плагины, пользовательские функции и т.д.
Всем доброго времени. Сразу оговорюсь, что вопрос достаточно философский=). Недавно столкнулся в работе с интересным (для меня) вопросом. Начать стоит с того, что в процессе работы с сайтом столкнулся с проблемой, что иногда выбрать готовый скрип (например Jquery плагин) бывает крайне сложно. Так скажем выбрать слайдер - означает перебрать тонны бесполезного хлама, перегруженного избыточным функционалом. Рано или поздно возникает желание написать свой. Да, тут неуместны аргументы, вроде "зачем, их и так много". Это было желание ради собственного опыта. Итак, я перешел к разработке. Первая версия слайдера удалась, получилось работающее решение. Но, вдумчивый анализ привёл к выводу, что решение, как и многие остальные громоздкое, неудобочитаемое, немасштабируемое и так далее. Я начал работать над второй версией. Получилось собрать компактное ядро, которое реализует базовую логику слайдера: переключение слайдов, переход к слайду по его номеру, работа с таймерами и еще немного полезных фич. Код получился чистый (минимум работы с объектами страницы, максимум логики) и понятный и, пожалуй, он сейчас очень похож на верное направление. Но тут я застрял в тупике. Я бы хотел оставить ядро в таком же чистом виде и весь дополнительный функционал реализовывать во внешних скриптах, которые модифицируют ядро, чтобы добиться нужного поведения. Например, вывод навигации по слайдам, подключение мобильных событий (swipe), ну и всё, что дальше душе угодно. Тупик в том, что я пока не понимаю, с какой стороны подойти к решению этой задачи. Возможно, правильно будет переписывать методы ядра из вне, делая extend, но это пока не выглядит изящным решением. Собственно вопрос : если кто сталкивался с подобными задачами, поделитесь опытом, или просто укажите направление для изучения. Я понимаю, что развёрнутый ответ на этот вопрос - это целая статья, так что вполне подойдёт "посмотри-ка вот этот паттерн" или "глянь-ка мой код".

Если кому интересно, то сам код ядра можно найти тут:
http://test.krasnodar-bose.ru/assets...ui.slideset.js (работает на jQuery)
Пример работы скрипта (пока голого ядра) тут:
http://test.krasnodar-bose.ru/projec...tommi-lee.html

Всем, кто дочитал до конца, большой респект. Не умею короче излагать мысли=).

PS. Вообще, последние много лет я работаю веб-дизайнером и не могу сказать, что в программировании я мега-крут. Так что, если кто ещё и код оценит - буду ну просто прыгать от счастья).
Ответить с цитированием
  #2 (permalink)  
Старый 21.01.2015, 18:53
Аспирант
Посмотреть профиль Найти все сообщения от losos100
 
Регистрация: 21.01.2015
Сообщений: 39

у тебя странный подход. хочешь избавиться от хлама, при этом реализуешь "чистое" ядро посредством кучи хлама, в виде jq
Ответить с цитированием
  #3 (permalink)  
Старый 21.01.2015, 19:09
Аспирант
Отправить личное сообщение для pandasensey Посмотреть профиль Найти все сообщения от pandasensey
 
Регистрация: 24.02.2010
Сообщений: 55

Формально, это так. В этом есть свои странности и, по большей части, я использовал jq для привычного мне доступа к элементам и штук типа extend. В дальнейшем, планирую уйти от jq. Но, согласитесь, это вот ну ни капли не отвечает на мой вопрос). Хотя я с вами согласен.
Ответить с цитированием
  #4 (permalink)  
Старый 22.01.2015, 07:20
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Здесь глянь на $X.clone
Ну и посмотри на код https://github.com/Svoloch/xpath-tools вообще.
Для общего развития можно так же посмотреть на $F.inherit вот тут.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2015, 01:20
Аспирант
Отправить личное сообщение для pandasensey Посмотреть профиль Найти все сообщения от pandasensey
 
Регистрация: 24.02.2010
Сообщений: 55

SV0L0CH, Спасибо, буду смотреть
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отображать результаты скрипта немедленно, а не после завершения всей функции? sitar32 Элементы интерфейса 6 28.08.2014 18:27
пользовательские cобытия и функции jquery hurt3 jQuery 2 08.07.2013 09:13
обращение к функции скрипта jquery imediasun1 Элементы интерфейса 1 07.06.2013 15:29
вызов внешнего скрипта из функции Rembrant Элементы интерфейса 9 25.07.2011 16:53