Пыха всегда с тобой

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 06:01:41

Страниц: [1] 2
Печать
Автор Тема: Выбираю библиотеки, посоветуйте  (Прочитано 242 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Абырвалг    ↓ 
05 Ноябрь, 2011, 12:46:47
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

Вот значит нужны решения для таких задач (фронтенд, не админка):
 
1. Система классов (наследование и хуе-мое) + обязательно динамическая подгрузка зависимостей. Второе даже важнее. Тут пока что безусловный фаворит ExtJS4. http://www.sencha.com/blog/countdown-to-ext-js-4-dynamic-loading-and-new-class-system . Правда он толстоват, и его бутстрап глюковат. Но мне ж только система классов нужна, по идее можно сделать маленьким
 
2. Роутер. Причем такой, который сможет разруливать как анкоры так и через history.api работать. Да еще что б можно было условия ставить - этот роут только через history.api, а другой можно и анкорами. Фаворитов тут пока нет
 
3. Шаблонизатор. С поддержкой эскейпинга. Тут кандидатов несколько:
 
a) jquery.tpl - до недавнего времени был стандартом для жуйквери, но сейчас он плавно переезжает в жуйквери-уи
b) ejs - менее интересный проект, но симфоебам первой версии думаю понравится (link_to()) http://embeddedjs.com/
c) twig.js - свежачек, который сразу стал лидером этого хитпарада. Дело в том, что этот шаблонизатор компилирует на сервере шаблоны в нативные жс-классы. Те же самые мать их шаблоны можно использовать на сервере и на клиенте. Это просто гениально
 
4. Валидация данных и форм. Мне необходима возможность описывать часть правил валидации в виже атрибутов тегов (не в классах), при этом иметь возможность руками динамически добавлять правила и расширять своими валидаторами. Пока очень понравилось https://github.com/vivin/regula/wiki/ в стиле явы и сф2
 
5. Пересекается с прошлым и с самым первым - что-то для моделей и коллекций. Ну тут Backbone.js наверно. Хотя в Ext'е тоже есть модели
 
6. Легкие, кастомизируемые и не сильно хуево сверстанные виджеты, типа табов, дейтпикера, loading mask, автокомплита. Тут пока лидер jQuery-ui.
 
7. Хелперы для стандартных типов, при этом не расширяющие эти самые прототипы. Что-то типа Ext.Date, underscore.js
 
8. Вебсокеты с fallback-транспортом через флеш. Пока socket.io лидер. Тут еще нужна серверная часть.
 
9. mysql-клиент. Еше одна серверная потребность. Хочу с поддержкой named prepeared statements. Пока выбрал mysql https://github.com/felixge/node-mysql , но там только анонимные плейсхолдеры. Хотя в принципе хули там сделать поддержку именованных и заслать патч?
 
10. Что-то для переводов. Несложное, но с поддержкой plural-forms и хотя б какой-то минимальной подстановкой плейсхолдеров.
 
Вроде ниче не забыл.
Что подскажете, братюни? Что вы используете?
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
phpdude    ↓ 
05 Ноябрь, 2011, 12:55:46 , спустя 8 минут 59 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

ой столько нового! столько нвоого!!!! спасибо тебе брютан! :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Sinkler    ↓ 
05 Ноябрь, 2011, 01:12:20 , спустя 16 минут 34 секунды
НЕ ХУЕТА! ХУЕТА!

Похуй, пляшем!
Группа: Джедаи

Карма: 73
Сообщений: 6807
Сила слова: 1.07


ой столько нового! столько нвоого!!!! спасибо тебе брютан! :)
+1)))
Записан

phpdude    ↓ 
05 Ноябрь, 2011, 01:31:37 , спустя 19 минут 17 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

ДОбавил статью в избранное :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Ivan    ↓ 
05 Ноябрь, 2011, 01:55:13 , спустя 23 минуты 36 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

компилирует на сервере шаблоны в нативные жс-классы.
И генерирует лишний трафик, и пользователь не "грузится" до конца - вместо этого лишний груз на сервер. Я выхожу из этой ситуации так -
в конец скелета, до </body>, у меня вложен пустой блок с именем script, и если нужно, в шаблоне, я вставляю в него переменные, загоняя их в специальный объект globalDynamicDataHelper:
HTML
{% block script %}{% if db %}<script type="text/javascript">
    globalDynamicDataHelper.started = true;
    globalDynamicDataHelper.requested_id = {{ requested_id }};
    globalDynamicDataHelper.uid = {{ isauth.uid }};
    globalDynamicDataHelper.me = (globalDynamicDataHelper.uid == globalDynamicDataHelper.requested_id);
</script>{% endif %}{% endblock %}

И затем уже работаю с этим объектом в клиентской части:
 
инициализация
Javascript
globalDynamicDataHelper = {};

использование
Javascript
if (globalDynamicDataHelper.started) {
    //alert(globalDynamicDataHelper.requested_id);
}
Записан

Ivan    ↓ 
05 Ноябрь, 2011, 02:00:49 , спустя 5 минут 36 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

И да общение с сервером баз данных на жс + эскейпинг на жс - это не дырки случаем?
Записан

phpdude    ↓ 
05 Ноябрь, 2011, 02:02:24 , спустя 1 минуту 35 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66

Абырвалг, чо такое грандиозное то собрался вообще делать? может зря такую аммуницию собирешь? :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Абырвалг    ↓ 
05 Ноябрь, 2011, 02:10:00 , спустя 7 минут 36 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31


И да общение с сервером баз данных на жс + эскейпинг на жс - это не дырки случаем?
ну не знаю, на nodejs как-то программят же люди
 
phpdude, тут несколько задач в одном проекте. Чятик с поддержкой непрочитанных и сохранением истории. Всякие динамические формы в попапах и табах. Открытие этих попапов и конкретных табов по анкору в урле. В целом ничего военного, просто хочется привести в порядок то, что уже написано + дальше делать по-науке. Ну и все это должно быть мультиязычным.
 

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

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
phpdude    ↓ 
05 Ноябрь, 2011, 02:18:20 , спустя 8 минут 20 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

шаблоны компилятся один раз, передаются на сервер, занимающийся статикой. Там гзиппятся, отдаются с кеширующими заголовками. Не вижу тут никакой нагрузки.
ничего себе :-))
 
ну видимо шаблоны сильно крутые раз их приходится кешировать ... по мне так похуй на эту мелочь, ведь это происходит на клиенте. и занимает это ну может 1 милисекунду ... дольше и сложнее и медленее, особенно на плохом интернете имхо будет качать с сервера эти данные ...
Спустя 8 секунд добавил
может я конечно не прав :)
Спустя 1 минуту 44 секунды добавил
аа блеядь, так twigjs это для нодежс получается? :))
Спустя 51 секунду добавил
судя по https://github.com/fadrizul/twigjs/blob/master/tests/parser.test.coffee таки да. дя серверсайд жс-ноджс и прочее шаблонизатор.
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Абырвалг    ↓ 
05 Ноябрь, 2011, 05:02:57 , спустя 2 часа 44 минуты 37 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

это не тот твигжс) https://github.com/schmittjoh/twig.js вот тот
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
kostyl    ↓ 
05 Ноябрь, 2011, 06:17:20 , спустя 1 час 14 минут 23 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

Абырвалг, смотрел Microsoft Ajax Library и вот эту штуку ?
Записан

качество жизни обратно пропорционально количеству лени
master    ↓ 
05 Ноябрь, 2011, 06:29:24 , спустя 12 минут 4 секунды
НЕ ХУЕТА! ХУЕТА!

Квадратов сколько видишь ты?
Группа: Джедаи

Карма: 44
Сообщений: 2080
Сила слова: 2.12

Абырвалг, цмс пишешь?
 
Мне понятно зачем нужны пункты 3, 4, 6, 9, про остальное не понятно, что это и зачем, я их в работе не юзаю.
 
шаблонизатор у мну - смарти. так исторически сложилось, одно ядро на все приложения, поэтому несовместимых апдейтов не делаю, и шаблонизатор не меняю. Тем более что на смарти уже всяких расширенных функций понавешал.
 
валидатор форм есть, собственного написания. описалово хранится в хмл, используется моделью, генератором форм, контролом формы (это такой класс, который искаропки выводит список записей таблицы и позволяет их редактировать). валидация двойная - клиентская и серверная. ну там много всего нашпиговано, и вряд ли такое можно вытащить в отдельный компонент, слишком сильная связь с остальными частями.
я работе с формами посвятил отдельное время, и теперь могу хуярить по 30 новых моделей в день. просто задаю структуру данных и имя таблицы, миграция по созданию таблицы генерится автоматом, и всё, в админке можно полноценно работать с таблицей. при отрисовке формы выполняется валидация, и заданы некоторые типы данных (емэйл, дата-время, файлы).
 
для дейтпикеров использую какую-то хуету вроде жквери.дейтпикер
 
плейсхолдеры для mysql использую неименованные, хватает.
Спустя 2 минуты 37 секунд добавил
вообще я так скажу. была бы готовая CMF с этими возможностями - я б велосипед не изобретал, взял бы готовое и юзал. ну типа как рельсы
« Последнее редактирование: 05 Ноябрь, 2011, 06:26:47 от master » Записан

Абырвалг    ↓ 
05 Ноябрь, 2011, 06:35:02 , спустя 5 минут 38 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31


Абырвалг, смотрел Microsoft Ajax Library и вот эту штуку ?
нокаут.жс смотрел, но это внатуре нокаут. Как-то неявно-магически все.
 
цмс пишешь?
нее, я цмс-ок уже написался). Нафига чат в цмс?
 

у меня Symfony2, там более-менее охуетительный фреймворк форм, а здесь тема о их клиентской валидации.
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
phpdude    ↓ 
05 Ноябрь, 2011, 06:52:03 , спустя 17 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66


Абырвалг, смотрел Microsoft Ajax Library и вот эту штуку ?
вот эта штука понравилась дуду :-))
 
чем то напомнило виндовс интерфейсы построение на уровне шаблонизации
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Ivan    ↓ 
05 Ноябрь, 2011, 07:09:13 , спустя 17 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

http://microjs.com/
Записан

Страниц: [1] 2
Печать
 

Перейти в: