В этом руководстве мы рассмотрим Mootor Framework , среду HTML 5 для разработки мобильных приложений. Он достаточно новый (март 2014 г.) и в нем отсутствуют шансы на разработку, которые есть у некоторых подобных фреймворков, но на него всегда стоит взглянуть.
Исходный код из этого урока доступен на GitHub .
Начиная
Мы будем использовать проект angular seed для настройки локального сервера для проекта Mootor. Итак, сначала клонируйте угловой начальный проект и установите необходимые зависимости:
git clone https://github.com/angular/angular-seed.git cd angular-seed npm install
После завершения клонируйте инфраструктуру Mootor и скопируйте папку dist
, source
и examples
каталог angular-seed
.
git clone https://github.com/emi420/Mootor.git // copy dist, source and examples to angular-seed
Из каталога angular-seed
запустите сервер, используя npm start
и укажите в браузере http://localhost:8000/examples/demo/
. Вы должны увидеть демо-приложение:
Что мы будем создавать
Используя платформу Mootor, мы создадим простое приложение со списком корзин, в которое пользователи смогут войти и создать свой список корзин. Мы подключим приложение к бэкэнду Firebase, чтобы сохранить наши данные.
Создание входа в экран
Создайте каталог с именем BucketApp
внутри angular-seed/examples
. Создайте файл HTML с именем index.html
который будет служить корневым файлом. Включите все необходимые библиотеки внутри этого файла.
Затем создайте index.js
где мы определим маршрутизацию для нашего BucketApp
.
Вот как должны выглядеть examples/BucketApp/index.html
:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="initial-scale = 1.0, user-scalable = no"> <meta name="apple-mobile-web-app-capable" content="yes" /> <link rel="stylesheet" href="../../source/css/mootor.css"> <link rel="stylesheet" href="../../source/css/color.css"> <link rel="stylesheet" href="../../source/css/icons.css"> <script defer type="text/javascript" src="../../dist/js/zepto-bundle.js"></script> <script defer type="text/javascript" src="../../dist/js/mootor.js"></script> <script defer type="text/javascript" src="index.js"></script> </head> <body> <header> <h1><img src="img/logo.png" /></h1> </header> </body> </html>
Внутри BucketApp
создайте каталог с именем views
. Внутри views
создайте папку с именем index
а внутри нее создайте index.html
, index.js
и index.css
.
index.html
будет представлением по умолчанию для нашего приложения, index.js
будет вспомогательным скриптом, а index.css
будет css, связанным с представлением index
.
Вот как должен выглядеть views/index/index.html
:
<form id="myForm" class="m-form m-padding"> <fieldset class="m-form-top-labels"> <div class="m-field"> <input id="txtEmail" type="text" class="m-text" placeholder="Username" /> </div> <div class="m-field"> <input id="txtPass" type="password" class="m-text" placeholder="Password" /> </div> </fieldset> <button type="submit" class="m-button m-button-success m-button-block">Sign In</button> </form>
Далее мы определим маршруты в examples/BucketApp/index.js
как показано ниже:
(function() { "use strict"; // Created the Mootor app var app = m.app({ views: [ "index" ] }); //default route app.route("^$", app.view("index")); // initialize the app app.init(); }());
Перезапустите сервер, укажите в браузере http://localhost:8000/examples/BucketApp
и вы должны увидеть экран входа в систему.
Внедрение входа
Откройте examples/BucketApp/views/index.js
. Здесь мы определим знак в логике. Мы будем использовать Firebase в качестве бэкэнда.
Давайте начнем с прикрепления события отправки к форме входа.
(function($) { "use strict"; m.app.view("index").on("ready", function() { $("#myForm").on("submit", function() { // logic will be here }); }); }(window.$));
Начать работу с Firebase довольно просто. Начните с регистрации бесплатной учетной записи на Firebase. Как только вы войдете в firebase, в левом боковом меню нажмите « Войти и авторизация» и установите флажок « Включить аутентификацию по электронной почте и паролю» .
Когда пользователь успешно вошел в систему, приложение будет перенаправлено на домашнюю страницу пользователя с приветственным сообщением. Давайте создадим представление для пользователя home.
Создайте папку userhome
внутри examples/BucketApp/views/
. Внутри него создайте userhome.html
, userhome.js
и userhome.css
.
Вот как должен выглядеть userhome.html
:
<h2>Welcome to User Home!!</h2> <button id="btnLogout" type="button" class="m-button m-button-success m-button-block">Logout</button>
Откройте userhome.js
и определите событие onclick
для btnLogout
как показано ниже:
(function($) { "use strict"; m.app.view("userhome").on("ready", function() { // create the firebase object var firebaseRef = new Firebase('https://burning-fire-1723.firebaseio.com'); // create auth object var auth = new FirebaseSimpleLogin(firebaseRef, function(error, user) { if (!error) { if (user) { } } }); // Logout click event $("#btnLogout").click(function() { auth.logout(); window.location.href = ""; }); }); }(window.$));
Затем добавьте маршрут для userhome
в examples/BucketApp/index.js
как показано ниже:
app.route("^#userhome", app.view("userhome"));
Давайте реализуем логин пользователя. Как только пользователь отправит форму входа, мы проверим имя пользователя и пароль для пустых значений и вызовем функцию firebase auth.login .
Измените examples/BucketApp/views/index/index.js
как показано ниже:
(function($) { "use strict"; m.app.view("index").on("ready", function() { // create the firebase object var firebaseRef = new Firebase('https://burning-fire-1723.firebaseio.com'); // create auth object var auth = new FirebaseSimpleLogin(firebaseRef, function(error, user) { if (!error) { if (user) { window.location.href = "#userhome"; } } }); // form on submit event $("#myForm").on("submit", function() { var email = $('#txtEmail').val(); var password = $('#txtPass').val(); auth.login('password', { email: email, password: password }); return false; }); }); }(window.$));
Откройте examples/BucketApp/index.html
и examples/BucketApp/index.html
ссылку на скрипт для Firebase, как показано ниже:
<script type='text/javascript' src='https://cdn.firebase.com/js/client/1.0.17/firebase.js'></script> <script type='text/javascript' src='https://cdn.firebase.com/js/simple-login/1.6.1/firebase-simple-login.js'></script>
Перезапустите сервер и укажите ваш браузер на http://localhost:8000/examples/BucketApp/
. Попробуйте войти, используя имя пользователя [email protected] и пароль sam, и в случае успеха вы увидите экран ниже:
Вывод
В этом уроке мы увидели, как начать создавать мобильное приложение с использованием платформы Mootor . Мы реализовали функциональность входа пользователя с использованием платформы Mootor и Firebase . В следующем уроке мы попытаемся использовать некоторые другие функции, предлагаемые этой платформой, а также реализовать функцию регистрации.
Подробную информацию о структуре можно найти в официальных документах . о чем ты думаешь? Предлагает ли что-нибудь новое по сравнению с другими существующими фреймворками?