Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   LiquidLava MVC Framework (https://javascript.ru/forum/project/52320-liquidlava-mvc-framework.html)

melky 28.12.2014 17:30

Цитата:

Сообщение от nerv_
всегда ли она нужна?

да, потому что vendor lock-in - плохо. я пару раз спотыкнулся на этом (не в ангуляре, а ... например, в SaisJS) и возвращаться к монолитным фреймворкам не хочется... я надолго запомню бессонные ночи переписывания)
Цитата:

Сообщение от nerv_
на одной странице может быть n ангуляр-приложений
в рамках модуля может быть n классов/объектов

угумс. под словом "модуль" я имел в виду модуль JS (CommonJS\AMD), а не модуль angular (angular.module). Хотелось автоматической сборки, а соединить декларации DI ангуляра с зависимостями requireJS не получилось, так что писал 2 раза - сначала для requireJs, потом для angular
Цитата:

Сообщение от nerv_
а я как писал, так и пишу с $q ангуляра

промисы - это только один пример. но больше не могу припомнить :)
Цитата:

Сообщение от nerv_
это хорошо до поры до времени. Когда задачи становятся сложными, как правило, приходится заниматься чем-то одним (клиент/сервер). Когда еще сложнее, уже происходит деление на подзадачи в рамках [front|back]-end.

конечно, есть frontend\backend only код

одним я не смогу заниматься, потому что я один программист :Р fullstack dev here
Цитата:

Сообщение от nerv_
Зависимости.
Пока руками. Очень много всяких мелочей вида "скопировать в буфер по клику" и т.п. приходится заворачивать в директивы. Соответственно, флеш модуль для этой директивы подгружается вместе со страницей.
Сейчас думаю, как лучше всего разрулить эту ситуацию:
1. собирать в один файл
2. использовать догрузку зависимостей по требованию

вижу, ты ещё не дозрел :) ну, если что, ты знаешь, где меня искать)

kogarashisan 29.12.2014 23:38

Цитата:

Сообщение от fancy
3 - Ошибки в работе даже с тем примером который на странице.

Вот этого сильно не понял, так что если можно, то, пожалуйста, подробнее. Перед каждым выливанием я все очень хорошо тестирую, и я думал что ошибок у меня нет. Если есть ошибки, то мне очень хотелось бы их исправить. На данном этапе я не могу себе позволить иметь ошибки "на странице", так что буду благодарен за баг репорт.

Цитата:

Сообщение от fancy
1 - API - жесть
2 - Что-нибудь расширить добавить - это возиться с пунктом 1.

Не верю я, что API - жесть. Докажи. Какая практическая задача вызывает сложности?

Что нибудь расширить и добавить - здесь намного проще, чем во фреймворках с "нормальным" API.

fancy 29.12.2014 23:57

Про ошибки.

1 - При первом открытие, 2 секунды видно большим черным шрифтом отображение кода в том месте где потом будет пример.
Может не ошибка, но так быть не должно.
2 - Несколько дней назад, добавлял задачи, потом возникла ошибка.
Не реагировали задачи.
Сейчас искать и выяснять в чем дело нет времени.


У тебя есть какие-нибудь Unit Test-ы?
Такие ошибки очень сложно отловить просто jasmin-ом.
Selenium 2 может помочь.

Вообще сейчас нет нормальной библиотеки для тестов, которая бы симулировала поведение пользователя.
Может вот это тебе пригодится, если у тебя на JQuery работает.
http://www.bryntum.com/products/siesta/
У них есть Light версию, но сделано все так, чтобы покупали.
Так что Light версию надо еще заставить работать, поискать файлы, которые отсутствуют в сборке.

Лично мне пришлось, свою библиотеку для тестов делать...
Не мог сделать симулирование событий пользователя, вроде mousedown, mousemove, mouseup, mousewheel и другие.
Говоря откровенно, Selenium и даже Selenium 2, реально может лишь одно click и все...
Хотя в API много что-написано, в действительности это так.

Когда делал свою библиотеку, в IE 9 не смог воспроизвести несколько событий.

Но тебе придется делать как в Angular, если будешь делать.

SauceLabs может пригодится - но она платная, 12$ месячная подписка.
Но штука супер...

melky 30.12.2014 01:21

fancy, https://github.com/segmentio/nightmare

fancy 30.12.2014 01:33

Цитата:

Сообщение от melky (Сообщение 348914)

Максимум из событий - это click...
Нет инструмента для реальное поведение пользователя с расширеными событиями.

Siesta от брунтум, что-то для этого делает.
Но у них заточка под JQuery, ExtJS, Prototype и что-то еще.
У меня своя библиотека для dom.
Плюс местами они делают не сами события, а запуск обработчиков.

Не подошла Siesta.
Все что есть для этого проверял.
Большинство инструментов используют внутри web driver(Selenium 2)
Т.е. ограничены возможностями Selenium 2.
PantomnJS, тоже особых возможностей не предоставляет.

Потом еще пришлось для полу-автоматического написания тестов делать
record событий.

nerv_ 30.12.2014 21:47

Цитата:

Сообщение от melky
вижу, ты ещё не дозрел

"шеф, клиент уже созрел" :D

Надо будет попросить тебя показать образец проекта с точки зрения клиента)

Я на ангуляре почти два года пишу. Не скажу, что он ужасен. Есть как плюсы, так и минусы.

Цитата:

Сообщение от melky
одним я не смогу заниматься, потому что я один программист :Р

"я у мамы программист" (с) максимус :)

melky 30.12.2014 22:13

Цитата:

Сообщение от nerv_
Надо будет попросить тебя показать образец проекта с точки зрения клиента)

проект как проект

для клиента - пофигу, что на ангуляре он, что на реакте, что на чём либо другом - хоть на джейКвери :)

главное - чтобы работало, как говорится.



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

PSS. с появлением Service Worker я задумался о написании shit apps (мелких ненужных приложений) для "набития руки". но я ничего не обещаю.
Цитата:

Сообщение от nerv_
"я у мамы программист" (с) максимус

:D ха, ну ты вспомнил

nerv_ 30.12.2014 22:34

Цитата:

Сообщение от melky
для клиента - пофигу, что на ангуляре он, что на реакте, что на чём либо другом - хоть на джейКвери

имел ввиду твою структуру приложения на клиенте))) Образец)

melky, еще пару вопросов:
1. в реакте есть дата биндинг?
2. что насчет валидации форм? В ангуляре очень много из коробки. Это радует.

melky 30.12.2014 23:24

Цитата:

Сообщение от nerv_
имел ввиду твою структуру приложения на клиенте))) Образец)

упс, не догнал)

Цитата:

Сообщение от nerv_
1. в реакте есть дата биндинг?

тут всё прозрачно. иногда даже слишком)

подход сверху: хелпер

подход снизу: биндинг делается через делегата (коллбек):
var model = { value: '' };

var handleChange = function (e) {
    model.value = e.target.value;
};

<input onChange={handleChange} />


Цитата:

Сообщение от nerv_
2. что насчет валидации форм? В ангуляре очень много из коробки. Это радует.

не берусь ответить, ибо пока не занимался валидацией, но вроде npm: react-forms.


PS. ты хочешь начать писать на нем или просто интересуешься?

nerv_ 30.12.2014 23:36

melky, спасибо за ответ, плюсы не ставятся)

Я интересуюсь на предмет попробовать в проекте) На данный момент собираю инфу по кусочкам из разных мест, для объективности =)


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