Как стать автором
Обновить
8
Карма
0
Рейтинг
Alex Ivasyuv @siegerstein

Пользователь

Введение в NikaFramework (NKF). Часть 2

Знаете, вы разработали по сути то, над чем я работаю последние 2 года.
да я тоже свой писал с 2011. Уже использован был в 5-ти проектах.

Это ведь ваша собственная разработка?
да

Мне кажется, у обоих инструментов есть свои преимущества. Не желаете объединить усилия?
отписал в личку

Введение в NikaFramework (NKF). Часть 2

Раньше были, но база полетела (нужно было изначально нормально делать на MySQL а не на тестовой HSQLDB).
Потом создал по новой но уже на MySQL. Багов пока что не постал. Так что на гитхабе как раз новая :)

Введение в NikaFramework (NKF). Часть 2

Спасибо! В первую очередь он писался для себя. Любые замечания оставляйте на баг-трекере или в комментах.

Введение в NikaFramework (NKF). Часть 2

не туда влепил коммент…

Введение в NikaFramework (NKF). Часть 1

Еще раз. Я не люблю шаблоны из-за того что логика оказывается в двух местах: частично в шаблоне, и в JS. Плюс у вас всегда есть соблазн написать в шаблон лишнего, благо на сегодняшний день шаблонизаторы мощные.
Таким образом, я предпочитаю разделять мух от котлет.

Приведите мне хороший пример шаблона по вашему мнению (на jsfiddle напр.), чтобы можно было аргументированно обсуждать дальше.

Введение в NikaFramework (NKF). Часть 1

Но проблема не только в этом, а в том, что дебажить ЭТО — сущий кошмар.

там есть два режима сборки, обычный и production. Так вот в production все сжимаеться, а в обычном у вас нормальный JavaScript код, который нормально дебажиться.

Введение в NikaFramework (NKF). Часть 1

Сделаем. Лицензия MIT

Введение в NikaFramework (NKF). Часть 1

Я так понимаю TortoiseSVN вы тоже не используете ;)

Введение в NikaFramework (NKF). Часть 1

OK. Возьмем для примера средний проект в котором 30 JS файлов. Вы представляете как мучаеться браузер пока сделает 30 реквестов и начнет рендерить. К тому же известно, что любой тег script останавливает работу по загрузки ресурсов, пока
JS файл не будет скачан до конца. Даже если использовать аттрибут async тогда нарушаеться последовательность подключения JS файлов, что приведет к ошибке, так как какой-небудь модуль будет вызван прежде нежели будет определен (то есть скачан и исполнен). Даже если обходить этот методом динамической вставки script тега в DOM, все же остаеться латентность на время выкачивания ресурса браузером (напр., на много быстрее будет скачать один большой файл нежели 100 но маленьких файлов).
Так что даже спростой cat всех файлов в один даст очень большой прирость произодительности.
Тем более процес компиляции идет на NodeJS и занимает в среднем 1 секунду.

Введение в NikaFramework (NKF). Часть 1

дока (пока что) — nikaframework.com/docs/nutshell/
баги лучше кидать на JIRA — bugs.nikaframework.com/
на счет коммитов согласен. Нужно писать нормальные комменты

Введение в NikaFramework (NKF). Часть 1

Не спорю, ExtJS это уже монстр, посравнению какой он был когда-то… Но я его отношу к UI потому что это его основное предназначение. То что он MVC — это побочный эффект того, что он стал очень мощный, и нужно все это как-то разруливать. Просто сказать что ExtJS архитектурный фреймворк язык не поворачивается. В первую очередь его достоинство — это UI. Хотя конечно в нем есть часть по работе с архитектурой, но в рамках своего же продукта…
P.S. я тоже люблю ExtJS :)

Статику (css, js… ) лучше раздает nginx, а он .htaccess не понимает. Ну хотя это не большая проблема

Да, можно и nginx. Просто делаете соответствущие настройки…
К стате вы не внимательно читали, там не придеться тянуть CSS, JS и прочие… Это уже все будет упаковано в один файл на выходе — index.xhtmlz

Я имею ввиду — мне нужно отправить запрос на сервер. Ну например для той же авторизации. Или для CRUD. Аякс руками писать? В коробке никаких аяксов нету?

В коробке есть класс NetworkManager и StorageManager. Но это просто посредники, которые удобно использовать когда приложение работает в online/offline режимах. Тогда через класс NetworkManager должна тянутся уже сохраненная инфа с StorageManager, а тот в свою очередь смотрит от куда вытянуть данные (Memory, Cookie, LocalStorage). Но оно во первых не дописано до конца, во вторых нормально не тестировалось.
Я напр. использую $.ajax() и не вижу смысла использовать хелперы, если конечно не требуеться вышеописаный механизм.

Как я и говорил — NKF не навязывает свой стиль написание. Главная задача это организация кода, возможность верстать в классическом виде, оптимизация траффика через упаковку всех ресурсов, локализация на лету.

Введение в NikaFramework (NKF). Часть 1

нечаянно отправило…

> По работе с сервером что-то тоже ничего не нашел готового в доках
Это frontend… он не диктует на чем написан backend… либо я не понял вопроса

> Architectural Web UI Single-Page Application (SPA) Framework
Не просто UI а Web UI… А Web UI — это специальность, в которой программист использует три ключевых технологии, это: HTML,CSS и тонны JavaScript

Введение в NikaFramework (NKF). Часть 1

Ну бы поделил фреймворки на UI и архитектурные. UI это изначально нацелены на создание графического интерфейса, типа гриды, листы, батоны и все такое. То есть все унифицировано, все быстро, все по шаблону.
Архитектурные — такие как Backbone.js — они на UI не завязаны. Пиши на чем хочешь. У них цель другая. Это помочь с архитектурой UI.
Тем более я не сравниваю их, а наоборот говорю что они в корне отличаються
> Первое что нужно понять, что это не UI-ный фреймворк, как напр. ExtJS или SmartClient.

На счет .htaccess — посмотрите в него и сразу поймете зачем он.

> Зачем статике апач
Этого я не понял…

> По работе с сервером

Введение в NikaFramework (NKF). Часть 1

Я негативно отношусь к шаблонизаторам (я лично работал с проектом, шаблоны которого были порядка 1000 строк очень сложных макарон), так как последнии зачастую ведут к тому что код который должен был быть простым, оказываеться через-чур сложным в итоге.
Сначала код простой, и там лишь подстановка данных объекта. Но потом, нужно добавить проверку на возможность пользователя видеть какой-то блок — уже у нас проверка. Дальше появляеться нужда в итерации, пройтись по чем-то и на основании какой-то логики показывать тот или иной кусок… В этоге шаблон превращаеться в смесь HTML и Логики (ala JavaScript).
Поэтому я предпочитаю писать куски XHTML отдельно, а в логике строить сколько угодно сложный DOM. Шаблоны этим сильно ограничены, потому что если посмотреть — то шаблоны это сильно упрошенный ЯП.

Введение в NikaFramework (NKF). Часть 1

Очень хороший вопрос к стате, так как NKF сам по себе похож на Backbone.js хотя бы тем что тот тоже по сути являеться по большей части архитектурный.
Но во первых, NKF не навязывает вам стиль написания как это есть в Backbone (если не возможность в Backbone писать в стиле jQuery way).
Так же оптимизация трафика, так как все ресурсы тянуться одним файлом — index.htmlz, локализация на лету, семантика DOM и другое. Но об этом в продолжении.

Введение в NikaFramework (NKF). Часть 1

спасибо, поправил.

Информация

В рейтинге
Не участвует
Откуда
Львов, Львовская обл., Украина
Дата рождения
Зарегистрирован
Активность