Я создаю веб-приложение. Вскоре приложение: Restful, бэкэнд написан на Java, я использую Wink. Что касается интерфейса, я хочу использовать knockout.js, я уже сделал некоторые из онлайновых учебников, чтобы немного привыкнуть к структуре.Что находится в библиотеке - интерфейс backend (java)/frontend (js knockout)
Я уже немного играл и создал ajax-вызовы для функций add-delete-search и отобразил извлеченные записи на простой html-странице через knockout.js. Сначала я получил предложение создать библиотеку/пространство имен, прежде чем начинать что-либо еще с интерфейса. Поэтому я решил отступить и попытаться создать такую библиотеку.
Да, я прочитал тонны документации в Интернете (закрытие, пространство имен, javascript, libs в целом, ...), но каким-то образом я все еще не получаю больше от lib.
Вопросы:
- главный вопрос: Что должно быть в том, что Lib, если это внутренний интерфейс/интерфейс?
- Я планировал создать закрытие (для частных участников). Будет ли это закрытие пространством имен (мало ли с помощью «namespace» -topic)?
- Что на самом деле должно быть в такой библиотеке?
- Ajax-вызовы
- всех AJAX-вызовы и все вспомогательные методы
- вид-модель нокатирующего-JS
- шаблона для отображения словаря? (Или это другой файл ..)
Мое понимание библиотеки: Lib просто JS-файл, который включает в себя переменные и функции, которые принадлежат вместе (инкапсуляции). Библиотека lib делает код повторно используемым. Использование пространства имен в библиотеке является хорошим, чтобы избежать столкновений с другими библиотеками и использовать закрытие - это хорошо, чтобы иметь возможность «создавать» частные и общедоступные переменные и функции. Я ошибаюсь в любом предположении от там?
Возможно, вам стоит взглянуть на [Swagger] (https://developers.helloreverb.com/swagger/), это спецификация для публикации метаданных, похожих на WSDL, для ресурсов RESTful. Вы можете использовать что-то вроде [amdatu] (http://www.amdatu.org/components/web.html) для серверной части; он включает Wink и будет генерировать метаданные Swagger. Вы должны иметь возможность использовать эти метаданные для создания заглушек для ваших моделей представлений Knockout, если хотите. Затем вы можете взять пользовательский интерфейс Swagger JavaScript, указать его на метаданные, и он будет генерировать функции для всех вызовов ajax (так что вам это не понадобится в вашей библиотеке). –
Если вы идете по этому маршруту, в библиотеке не останется много места; у вас в основном есть специфичные для пользовательского интерфейса вещи, которые нелегко повторно использовать, чтобы писать, поэтому не было бы смысла пытаться абстрагировать его в библиотеке. –
На данный момент (этот проект) я скорее хотел узнать, как это сделать в javascript. Таким образом, фактическая задача этого проекта заключается в обучении: «Получение библиотеки, написанной в js/knockout done». Конечно, я также хочу, чтобы проект был выполнен, но с js на frontend. Еще благодарю вас за намек на Swagger, я попробую это позже, я думаю. – Meru