|
Абырвалг ↓
|
 |
|
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:
{% 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 %}
И затем уже работаю с этим объектом в клиентской части:
инициализация
globalDynamicDataHelper = {};
использование
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
|
|
|
|
|
|
Записан
|
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
|
|
|
|
|
|
Записан
|
|
|
|
|