Создание приложений в реальном времени с помощью Angular 2, LoopBack и FireLoop.io
Мне нужно объявить кое-что очень важное. Я очень рад опубликовать информацию о том, что в LoopBack SDK Builder добавлена замечательная функция; его имя FireLoop !!!
Общественные аплодисменты и ожидания на заднем плане
Представляем FireLoop.io
FireLoop - это новая платформа реального времени, построенная на основе LoopBack, которая заменяет стандартный REST API и превращает эту замечательную и зрелую платформу в мощный движок реального времени.
Я хочу, чтобы эта статья оставалась технической и не заостряла внимание на других деталях, если вы хотите прочитать о мотивации, сравнении других фреймворков и т. Д.
Описание Проекта
Теперь, когда вы имеете представление о том, что такое FireLoop, я хочу показать вам, как создать приложение Todo в реальном времени с использованием этих технологий.
Я всегда решаю использовать приложение Todo, когда технология настолько нова или важна, что на данный момент фактическое приложение результатов не имеет особого значения, это позволит новым разработчикам легко понять, а не использовать более сложные примеры.
Требования
Мы собираемся создать приложение реального времени с использованием Angular 2, LoopBack и FireLoop, поэтому вам потребуются следующие глобальные пакеты для установки.
$ npm install -g strongloop angular-cli
Создать API
Сначала мы собираемся создать наш LoopBack API, а затем мы установим FireLoop поверх, чтобы активировать возможности реального времени.
$ mkdir todo-project && cd todo-project $ mkdir todo-api && cd todo-api $ slc loopback
_-----_ | | ╭──────────────────────────╮ |--(o)--| │ Let's create a LoopBack │ `---------´ │ application! │ ( _´U`_ ) ╰──────────────────────────╯ /___A___\ / | ~ | __'.___.'__ ´ ` |° ´ Y `
? What's the name of your application? todo-api ? What kind of application do you have in mind? api-server (A LoopBack API server with local User auth) ? Which version of LoopBack would you like to use? 2.x
УСТАНОВИТЕ МОДУЛИ FIRELOOP
Теперь нам нужно установить и настроить необходимые модули для работы FireLoop.
$ npm install --save @mean-expert/{loopback-sdk-builder,loopback-component-realtime}
Если вы еще не прочитали мотивацию, мне нужно уточнить, что одна из причин, по которой я решил объединить и брендировать FireLoop, заключается в том, что я хочу, чтобы вы избегали всех этих конфигураций, но пока я не буду работать в инструменте командной строки, вам понадобится чтобы вручную выполнить следующие настройки:
Но прежде я могу пообещать, что, когда закончу работу с командным инструментом; вам нужно будет установить только 1 пакет с нулевыми конфигурациями. Поэтому я вернусь к этой статье, избегая всего следующего.
НАСТРОЙКА МОДУЛЯ РЕАЛЬНОГО ВРЕМЕНИ
Откройте файл server/server.js
и измените метод app.start
следующим образом:
app.start = function() {
// start the web server
var server = app.listen(function() {
app.emit('started', server);
var baseUrl = app.get('url').replace(/\/$/, '');
console.log('Web server listening at: %s', baseUrl);
if (app.get('loopback-component-explorer')) {
var explorerPath = app.get('loopback-component-explorer').mountPath;
console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
}
});
return server;
};
Теперь откройте файл server/component-config.json
и измените его следующим образом:
{
"loopback-component-explorer": {
"mountPath": "/explorer"
},
"@mean-expert/loopback-component-realtime": {
"auth": false // For this example, we will see authentication in another post.
}
}
НАСТРОИТЬ SDK BUILDER
Откройте файл package.json
и добавьте в раздел скриптов следующее:
{
"name": "todo-api",
"version": "1.0.0",
"main": "server/server.js",
"scripts": {
...
"build:sdk": "./node_modules/.bin/lb-sdk server/server ../todo-app/src/app/shared/sdk"
},
...
}
Хорошо, теперь у нас есть конфигурации Back-End, но прежде чем мы перейдем к части Angular 2, давайте просто создадим простую модель Todo.
СОЗДАТЬ МОДЕЛЬ ТОДО
$ slc loopback:model Todo ? Enter the model name: Todo ? Select the data-source to attach Todo to: db (memory) ? Select models base class PersistedModel ? Expose Todo via the REST API? Yes ? Custom plural form (used to build REST URL): todos ? Common model or server only? common Lets add some Todo properties now.
Enter an empty property name when done. ? Property name: text ? Property type: string ? Required? Yes ? Default value[leave blank for none]:
Создать приложение Angular 2
$ cd ../
$ ng new todo-app
Visit http://ember-cli.com/user-guide/#watchman for more info.
installing ng2
create .editorconfig
create README.md
create src/app/app.component.css
create src/app/app.component.html
create src/app/app.component.spec.ts
create src/app/app.component.ts
create src/app/app.module.ts
create src/app/index.ts
create src/app/shared/index.ts
create src/assets/.gitkeep
create src/assets/.npmignore
create src/environments/environment.prod.ts
create src/environments/environment.ts
create src/favicon.ico
create src/index.html
create src/main.ts
create src/polyfills.ts
create src/styles.css
create src/test.ts
create src/tsconfig.json
create src/typings.d.ts
create angular-cli.json
create e2e/app.e2e-spec.ts
create e2e/app.po.ts
create e2e/tsconfig.json
create .gitignore
create karma.conf.js
create package.json
create protractor.conf.js
create tslint.json
Successfully initialized git.
Installing packages for tooling via npm.
Сборка FireLoop SDK
Читать дальше:
Как создать приложение в реальном времени с Angular 2, Loopback и Fireloop.io