Статьи

Mootor, HTML5 Framework для мобильной разработки

В этом руководстве мы рассмотрим 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 . В следующем уроке мы попытаемся использовать некоторые другие функции, предлагаемые этой платформой, а также реализовать функцию регистрации.

Подробную информацию о структуре можно найти в официальных документах . о чем ты думаешь? Предлагает ли что-нибудь новое по сравнению с другими существующими фреймворками?