У меня сначала было косоглазие, перенёс две операции, что там сделали, я не знаю, это было в 5 летнем возрасте. Сейчас лениво занимаюсь изучением своей проблемы. Вроде бы и не мешает, что я смотрю только левым глазом, а правый как дополнение (немного расширяет картинку, без фокуса), но очень хочется испытать, каково это, видать «нормально».
Спасибо вам большое за статьи, узнал, что имя моей проблемы — амблиопия, а ведь в военкомате и в местной поликлинике я полностью здоров, хотя и говорил, что у меня явные проблемы.
Если вам нравится дата-байндинги, посмотрите на библиотеку KnockoutJS. мне очень нравится то, что она предоставляет именно шаблонизатор и ничего больше и в этом случае её можно удобно интегрировать в свой фреймворк.
Довольно интересная штука, но в реальности на сервере чаще всего используются не самописные реализации схем, а именно mongoose.js. По этому и встала задача минимальными усилиями сделать поддержку этих схем на клиенте. Да и процесс уже пошёл +) Потом поделюсь результатами.
Я уже реализовывал подобную идею, только там не было схем данных и валидации, да и упор там был на использование этого добра через api, а сейчас хочу сместить фокус на сторону данных, как это сделано в метеор и mongoose.js. Должно получится очень хорошо, хотя бы потому что делается это для решения реальных задач. Как будет что показать, выложу на гитхаб и, наверное, напишу статью на хабре, ведь качественных реализаций не так много, да и вдруг кому полезным будет.
Давно использую идею централизованного хранилища данных на клиенте в виде самописной библиотеки.
Но сейчас, под новые задачи, пишу реализацию этой идеи под особенным соусом.
Привычные методы из mongoose.js (findById, findByIdAndRemove и тд.) для выборки документов и возможно будет доступна мощь mongodb подобных запросов (буду смотреть на реализацию minimongo для метеора)
Отдельным пунктом идёт работа с сервером (тут я еще не определился, у меня уже есть зачаток библиотеки для удобной работы с api сервера, наверное её и буду дорабатывать). Эта часть будет идти дополнительной надстройкой над хранилищем, потому что она не всем нужна из коробки.
В итоге получается похожее на mongodb хранилище документов на клиенте с валидацией данных и поддержкой серверного api для проектов, использующих knockout.js
Метеор — очень интересный проект хотя бы тем, что они реализуют интерфейс хранилища данных на клиенте. Сейчас активно изучаю их minimongo для собственной реализации с использованием схем данных (Schema) из mongoose.js и автоматическим оборачиванием всех полей в ko.observable(), хотя там на самом деле будет работать реализация с геттерами/сеттерами, и всё это для использования вместе с библиотекой knockout.js
Дедушка как знал, что именно мне не хватает и подарил портативный аккум-зарядку для гаджетов и даже мини-письмо приложил к подарку, за что ему огромное спасибо!
Очень крутой доклад, спасибо, как раз о наболевшем говорили.
А можно услышать мнение, почему нокаут — это плохо? Сам сейчас его использую в связке с самописным кодом и пока доволен, но всё равно немного не то. А какие у тебя нарекания к нему?
Недавно написал библиотеку, для создания rest api клиентов под js, правда пока еще не успел обкатать, но вы можете посмотреть идею, да и саму реализацию на github, вдруг понравится или будут идеи по улучшению.
Если честно, я бы использовал другой подход (fermata), но либа должна еще работать в браузерах, а в решении по ссылке используется новый es6 Proxy.
Готовых хороших гридов я не искал, реализовываю всё сам, под конкретную задачу. Мне кажется, что если хотите готовых контролов, лучше посмотреть на ангуляр. Но согласен с вами, что под нокаут мало качественных готовых контролов, приходится писать всё самому.
За трелло метеора отдельное спасибо.
Но сейчас, под новые задачи, пишу реализацию этой идеи под особенным соусом.
Краткое резюме:
В итоге получается похожее на mongodb хранилище документов на клиенте с валидацией данных и поддержкой серверного api для проектов, использующих knockout.js
А можно услышать мнение, почему нокаут — это плохо? Сам сейчас его использую в связке с самописным кодом и пока доволен, но всё равно немного не то. А какие у тебя нарекания к нему?
Если честно, я бы использовал другой подход (fermata), но либа должна еще работать в браузерах, а в решении по ссылке используется новый es6 Proxy.