Год назад я мечтал сделать свое собственное мобильное приложение на iPhone, а учить Swift мне не хотелось. Так вышло, что Swift я учить начал, но дело продвигалось слишком медленно, ведь я давно не студент и работы на основном месте завались, что-то учить с запоем уже не выходит.
И тут я натыкаюсь на Quasar, инструмент с MIT лицензией, с помощью которого можно создавать кроссплатформенные приложения под Android и iOS. Все что нужно знать программисту — это JavaScript и потрясающий реактивный фреймворк Vue.js.
Введение (или дисклеймер)
Это статья не универсальное пошаговое руководством по созданию мобильного приложения на JavaScript. Я просто хочу познакомить вас бесплатно с прекрасным инструментом, постараюсь рассказать о проблемах, с которыми я столкнулся и каким путем их решал.
Если выполнить все команды и условия, описанные в этой статье, у вас получится собрать простое мобильное приложение. Правда, по пути вас поджидает куча непредвиденных проблем, связанных с настройкой виртуального окружения. Будьте готовы.
Android NDK. Как писать под Android на C++
Перед началом.
Если вы хотите сделать приложение для Android, то вам понадобится установить на рабочий компьютер Android Studio, Java SDK 8, Gradle и настроить корректно все системные переменные ($path на Mac и Linux или “Системная переменная” на Windows).
Если вы хотите сделать приложение для iOS, понадобится Xcode и компьютер с операционной системой Apple.
Как видите, вам придется не один час потратить на установку и отладку своего виртуального окружения.
Зачем компьютер от Apple
Ограничение, которое наложило Apple на разработчиков. Без этого невозможно собрать приложение под iOS. Не хотите тратить деньги? Можете поставить хакинтош. И точка.
Если кто-то подумает что может это как-то можно обойти, забегу вперед и расстрою: нет. Пока никто не придумал, как собирать яблочные приложения не из-под Mac.
Знакомство c Quasar
Quasar — это фреймворк (для фреймворков, но об этом чуть позже). Сам он имеет набор собственных тегов, а весь JavaScript располагается во Vue компонентах.
Обратите внимание на скриншот выше: , , это теги Quasar, подробней в документации. Документация вся на английском, поэтому, если вы не можете читать на английском техническую информацию, лучше отложить знакомство с Quasar.
В остальном, это обычный Vue.js, и здесь нет ничего “необычного” кроме его собственных тегов и некоторых методов из документации. Все также вызываем корневой экземпляр Vue, в каждом модуле заполняем data и пишем методы. Все это дело собирается через webpack (dev server с hot reload в комплекте). Classic. Если вдруг не поняли мое последнее предложение, прочитайте статью про webpack по ссылке выше.
Ах да, в установочном пакете (об этом позже) из коробки есть поддержка scss и stylus (что просто божественно).
Резюмируя: если вы работали с Webpack и Vue, знаете как без проблем передавать данные между Vue компонентами, знакомы с , знакомы со store (vuex), знакомы с webpack переменными, у вас достаточно энергии и сил разбираться с грядущими проблемами сборки и есть желание копаться в Android Studio и Xcode — тогда проблем с разработкой не будет.
Как сделать приложение за 5 минут для Android или iOS!
Как оно работает
Да тех, кому интересно как же JavaScript работает в мобильном устройстве. Все очень просто, ваше приложение — это браузер.
Quasar- это инструмент, который позволяет элегантно вписать ваш Vue.js код в программное обеспечение Cordova. А Cordova это уже сам браузер (образно), который запускает ваш JavaScript.
Также, Cordova содержит в себе ряд плагинов, которые через JavaScript (внутри браузера Cordova) позволяют обращаться к камере, push уведомлениям, геолокации, контактам, bluetooth и.т.д. Полный список поддерживаемых функций можно найти здесь.
Конечно, можно обойти Quasar и напрямую работать с Cordova. Возможно, у вас получится подружить Cordova с React. Хотя у последнего для мобильной разработки есть React Native.
Боже, да, я знаю людей, которые на JQuery писали программу и превращали ее в приложение через Cordova. Правда, результат их работы выглядел очень мерзко. Представьте реакцию пользователя, который нажимает на “каталог” в такой “программе” и вместо реактивного изменения компонента (беззагрузочной подстановки страницы) получает обычную загрузку страницы как в браузере.
Vue.js позволяет создавать шикарные SPA и PWA приложения, которые запускаются в браузере, но выглядят как натуральные мобильные и десктопные приложения! Блин, современные SPA и PWA почти ничем не отличаются от программ, лишь наличие браузера показывает пользователю, что он находится все еще на сайте. Quasar позволяет стереть эту грань.
Первые шаги
Давайте создадим проект. Для начала нам понадобится Node.js, а конкретно менеджер пакетов npm. Скачать можно отсюда.
После установки Node.js идем на страницу установки Quasar. Отсюда берем команду:
Если вы используете Mac OS или Lunix, добавьте команду sudo перед установкой пакетов.
Далее создаем Quasar проект командой:
Важно: название проекта должно быть написано единым словом, иначе при сборке все полетит к чертям. Рекомендую не запариваться и использовать Camel Case. Все равно название приложение можно будет потом поменять.
Далее вам зададут 8 вопросов.
- Заполните имя проекта (пишете как хотите).
- Заполните описание.
- Заполните
Количество людей, использующих смартфоны ежедневно, увеличивается с каждым днем. Мы переписываемся в мессенджерах, общаемся в социальных сетях, читаем последние новости в интернете, а иногда даже проходим несколько уровней в играх. Все эти возможности предоставляют мобильные программы, которые доступны для скачивания в Google Play и на сторонних сайтах.
А как создать приложение для Андроид самостоятельно? Можно ли обойтись без знания языков программирования? На эти и некоторые другие вопросы мы постараемся ответить далее!
Создание профессионального приложения
Если вы откроете сайты с предложениями о работе, то увидите, что за создание качественного и сложного приложения разработчики берут немаленькие деньги. А такая сумма формируется не просто так, а в зависимости от необходимых знаний и формата программы. Конечно, самую простую и шаблонную игру вы сможете создать самостоятельно, если потратите на изучение этой темы несколько недель или месяцев.
Но профессиональная разработка мобильных приложений на Android включает владение языками программирования Kotlin и Java. Они очень похожи между собой, поэтому при большом желании выучить их можно даже самостоятельно (например, по видео на YouTube). Также не обойтись без компьютера с достаточно мощным «железом». Необходимо минимум 8 гигабайт оперативной памяти, а еще более-менее современный процессор.
В качестве среды разработки принято использовать профессиональный инструмент Android Studio. Также желательно установить на компьютер программу Git, которая предназначена для сохранения разных версий приложения. И после, когда программа уже создана, её можно будет сохранить в формате APK-файла и разместить в Google Play. Стоимость регистрации разработчика – 25 долларов.
Создание простого приложения
Для того, чтобы воспользоваться предыдущим способом создания приложения, придется потратить немало времени на изучение среды разработки и языков программирования. Понятное дело, что такой вариант подходит не всем, особенно если необходимо сделать простую программу. Тогда вы можете использовать онлайн-конструкторы, работая с уже готовыми шаблонами. Вот только самые популярные сервисы:
- App Builder;
- AppsGeyser;
- IbuildApp;
- Create My Free App;
- Appy Pie.
Вы можете остановиться на одном из представленных сервисов, мы же будет использовать удобное приложение Sketchware. Оно доступно для скачивания в Play Маркете совершенно бесплатно. Этот конструктор подойдет для создания большинства простых программ, выполняющих базовые задачи. Например, отображающие текст при нажатии по элементу меню. Но если вы детально изучите интерфейс, то сможете разрабатывать и более сложные утилиты.
Price: Free +
Итак, первым делом открываем приложение и предоставляем запрашиваемые разрешения. Они необходимы для корректной работы конструктора. Затем сохраняем языковой файл, чтобы весь интерфейс меню стал отображаться на русском. Для этого выбираем подходящую локализацию, а на странице нажимаем «Download».
Обратите внимание! Если во время загрузки файла на экране появляется сообщение об ошибке, то необходимо в памяти смартфона создать папку «Sketchware», а в ней уже директорию «localization». В случае со смартфоном Xiaomi и стандартным диспетчером файлов, сначала нужно нажать по трем точкам в углу экрана, а затем выбрать «Новая папка».
Теперь нужно пройти простую регистрацию. Для этого выполняем вход через любой аккаунт Google, имеющийся на смартфоне. И, когда все готово, указываем свое имя пользователя. А уже дальше переходим на главный экран и выбираем «Создать новый проект». Также немного ниже расположена кнопка «Публиковать Google Play», которую вы можете использовать в будущем для добавления приложения в магазин.
В появившемся окне вводим название проекта, после чего нажимаем «Создать».
И мы попадаем в стандартную среду разработки. В боковом блоке располагаются все необходимые для работы инструменты. Например, давайте создадим простую кнопку, при нажатии на которую будет происходить определенное действие. Для этого выбираем «Button» и перетаскиваем виджет на подходящее место.
Также не забываем изменить название элемента, нажав по нему, а после в нижнем меню отметив «Все». Здесь изменяем стандартный текст на свою надпись.
И таким способом вы можете добавлять в программу нужные элементы. К примеру, изображения, календарь и даже Google Карты. Есть также блок, отвечающий за отображение рекламы в приложении (туда нужно будет вставить код из рекламного кабинета). Для сохранения проекта выбираем «Запустить» и предоставляем разрешение на установку из неизвестных источников.
Далее система предлагает выполнить инсталляцию нашего приложения. В появившемся окошке выбираем «Установить» и ждем завершения процедуры. Если вы обнаружите, что программа работает как-то неправильно, то в любой момент сможете её улучшить посредством конструктора. В принципе, если говорить об интерфейсе сервиса, то он достаточно простой. Разобраться с ним полностью получится за несколько дней регулярной разработки.
Итак, мы рассмотрели, как создать приложение для Андроид самостоятельно. Начинающим пользователям лучше всего обратить внимание на готовые онлайн-конструкторы со встроенными шаблонами. А если у вас остались дополнительные вопросы, то смело задавайте их в комментариях!
Источник: mrandroid.ru
Как создать чат приложение для Android с помощью Firebase
Ashraff Hathibelagal Last updated Apr 15, 2021
Read Time: 11 min
С Firebase, создание «живого» социального приложения, покажется вам прогулкой в парке. И самое хорошее: вам не нужно писать ни одной строчки кода на стороне сервера.
В этом уроке я покажу вам, как использовать Firebase UI для создания приложения группового чата, которым вы можете поделиться с друзьями. Это будет очень простое приложение с одним чатом, доступным для всех пользователей.
Как вы, возможно, догадались, приложение будет зависеть от Firebase Auth для управления регистрацией и регистрацией пользователей. Он также будет использовать базу данных Firebase в реальном времени для хранения сообщений группового чата.
Предпосылки
Чтобы выполнить это пошаговое руководство, вам понадобится следующее:
- Последняя версия Android Studio
- Учётная запись Firebase
Инструкции о том, как настроить учётную запись в Firebase и подготовиться к разработке с Firebase в Android Studio, смотрите мой учебник Начало работы с Firebase для Android здесь на Envato Tuts+.
Android SDK
Начало работы с Firebase для Android
Ashraff Hathibelagal1. Создадим проект Android Studio
Запустите Android Studio и создайте новый проект с пустой активити под названием MainActivity.
Для того, чтобы настроить проект для использования платформы Firebase, откройте окно Firebase Assistant, нажав на Tools > Firebase.
При использовании платформы Firebase, как правило, хорошей идеей будет добавить в проект Firebase Analytics. Таким образом, внутри окна помощника Firebase, перейдите в раздел Analytics и нажмите Log an Analytics event.
Затем нажмите кнопку Connect to Firebase и убедитесь, что выбрана опция Create new Firebase project. После того, как соединение установиться, нажмите кнопку Add Analytics to your app.
На данный момент проект Android Studio не только интегрирован с Firebase Analytics, но и готов использовать все другие службы Firebase.
2. Добавим зависимости
В этом проекте мы будем использовать две библиотеки: Firebase UI и библиотеку поддержки дизайна Android. Поэтому, откройте файл build.gradle модуля app и добавьте следующие зависимости, как compile :
compile ‘com.android.support:design:23.4.0’
compile ‘com.firebaseui:firebase-ui:0.6.0’Нажмите кнопку Sync Now, чтобы обновить проект.
3. Зададим макеты (layouts)
Файл activity_main.xml, который уже привязан к MainActivity , определяет содержимое главного экрана приложения. Другими словами, он будет представлять чат-комнату.
Как и большинство других приложений для группового чата, доступных сегодня, наше приложение будет иметь следующие элементы интерфейса:
- Список, который отображает все сообщения группового чата в хронологическом порядке
- Поле ввода, в котором пользователь может ввести новое сообщение
- Кнопка, которую пользователь может нажать, чтобы отправить сообщение
Поэтому activity_main.xml должен содержать ListView , EditText и FloatingActionButton . После размещения их внутри виджета RelativeLayout ваш XML-макет должен выглядеть так:
xmlns_android=»https://schemas.android.com/apk/res/android»
xmlns_app=»http://schemas.android.com/apk/res-auto»
xmlns_tools=»http://schemas.android.com/tools»
android_layout_width=»match_parent»
android_layout_height=»match_parent»
tools_context=»com.tutsplus.mychatapp.MainActivity»>
android_layout_width=»wrap_content»
android_layout_height=»wrap_content»
android_clickable=»true»
android_layout_alignParentBottom=»true»
android_layout_alignParentEnd=»true»
app_fabSize=»mini» />
android_layout_width=»match_parent»
android_layout_height=»wrap_content»
android_layout_alignParentBottom=»true»
android_layout_alignParentStart=»true»>
android_layout_width=»match_parent»
android_layout_height=»wrap_content»
android_hint=»Input»
android_layout_width=»match_parent»
android_layout_height=»match_parent»
android_layout_alignParentTop=»true»
android_layout_alignParentStart=»true»
android_dividerHeight=»16dp»
android_layout_marginBottom=»16dp»/>Обратите внимание, что я поместил виджет EditText в виджет TextInputLayout . Это добавит плавающий ярлык в EditText , что очень важно, если вы хотите придерживаться принципов материального дизайна.
Теперь, когда макет исходного экрана готов, мы можем перейти к созданию макета для сообщений чата, которые будут элементами внутри ListView . Начните с создания нового XML файла макета под названием message.xml, чей корневой элемент RelativeLayout .
Макет должен содержать виджеты TextView для отображения текста сообщения чата, времени его отправки и его автора. Вы можете разместить их в любом порядке. Вот макет, который я буду использовать:
xmlns_android=»http://schemas.android.com/apk/res/android»
android_layout_width=»match_parent» android_layout_height=»match_parent»>
android_layout_width=»wrap_content»
android_layout_height=»wrap_content»
android_layout_alignParentTop=»true»
android_layout_alignParentStart=»true»
android_textStyle=»normal|bold» />
android_layout_width=»wrap_content»
android_layout_height=»wrap_content»
android_layout_alignParentEnd=»true»
android_layout_width=»wrap_content»
android_layout_height=»wrap_content»
android_layout_alignParentStart=»true»
android_layout_marginTop=»5dp»
android_textSize=»18sp» />4. Управление аутентификацией пользователя
Разрешить пользователям общаться в чат-комнате анонимно, не самая лучшая идея. Это может привести к спаму, проблемам с безопасностью и к другим не идеальным ситуациям в общении. Поэтому давайте настроим наше приложение так, чтобы только зарегистрированные пользователи могли читать и публиковать сообщения.
Для начала, перейдите в раздел Auth в Firebase Console и включите возможность регистрации по Email/Password.
Не стесняйтесь подключать поставщиков OAuth 2.0. Однако, FirebaseUI v0.6.0 без проблем поддерживает только вход в Google и Facebook.
Шаг 1. Обработка входа пользователя
Как только приложение запускается, оно должно проверять, вошёл ли пользователь в систему. Если да, приложение должно отобразить содержимое комнаты для дискуссий. В противном случае оно должно перенаправить пользователя на экран входа или регистрации. Для создания этих экранов с FirebaseUI требуется намного меньше кода, чем вы можете себе представить.
Внутри метода onCreate() в MainActivity проверьте, был ли пользователь зарегистрирован, проверив, не является ли текущий объект FirebaseUser null . Если оно равно NULL , необходимо создать и настроить объект Intent , который открывает активити входа. Для этого используйте класс SignInIntentBuilder . После этого, вы должны запустить активите входа, используя метод startActivityForResult() .
Обратите внимание, что вход в систему также может зарегистрировать нового пользователя. Поэтому у вас нет необходимости писать дополнительный код для обработки регистрации пользователя.
Добавьте следующий код в метод onCreate() :
if(FirebaseAuth.getInstance().getCurrentUser() == null)
// Start sign in/sign up activityИсточник: code.tutsplus.com