Дунаева А.В. https://vk.com/crosspl
Дунаева А.В. https://vk.com/crosspl
3https://play.google.com/store/apps/details?id=com.lilyapps.edoctor2
Программа курса
Создание кроссплатформенных приложений на основе:
• Веб-технологий, в том числе Apache Cordova
• Qt
Серверная часть
4
Отчетность
Цель спецкурса: создать приложение для пользователей одной из ОС
Оценка: экзамен, 4 з.е.
5
Шаг 1. Идея
6
Что нужно сделать после того как
появилась идея сделать приложение?
7
1. Проверить есть ли уже приложения которые
решают эту проблему
Искать следует как в магазинах приложений, так и в поисковых системах на
английском языке с помощью разных словосочетаний
8
2. Понять кто будет пользователем вашей
программы
9
Пол
Возраст
Доход
При каких обстоятельствах будут пользоваться вашим приложением? (Когда
скучно, в транспорте и т.д.)
3. Понять как вы будете зарабатывать
10
Разработка и поддержка приложения требует времени
4. Поделиться идей с друзьями / семьей
11
Или обсудить идею непосредственно с вашей целевой аудиторией.
Будут ли они пользоваться им?
Какие функции они хотели бы видеть?
5. Выбрать платформы
12
Android
iOS
Windows Phone
13
Android – 85%
iOS – 7%
Windows Phone - 8%
https://vc.ru/n/win-2nd
5. Выбрать платформы
14http://www.idc.com/prodserv/smartphone-os-market-share.jsp
15
5. Выбрать платформы
16USA
17Германияhttp://www.statista.com/statistics/261353/
smartphone-os-market-share-in-germany/
6. Выбрать на чем реализовывать
• Для каждой платформы отдельно – лучший и самый дорогостоящий
вариант
• Бизнес-логика на С++ интерфейс платформозависимый, так делают
крупные компании, например Dropbox
• Framework или библиотека для кроссплатформенной разработки
• Решение на основе веб-браузера, например Apache Cordova (Phonegap)
• Сайт
18https://github.com/dropbox/djinni
Шаг 2. Выбор библиотеки
19
Как выбрать библиотеку для
кроссплатформенной разработки?
20
• В первую очередь, необходимо посмотреть на реализованные с помощью
этой библиотеки приложения (установить на смартфон)
• Прочесть отзывы, например на habrahabr
• Сравнить возможности библиотек
21
Marmalade SDK
Язык: Lua / C++
Применение: игры
Платформы: iOS, Android, Windows Phone, Windows
Store, Windows 10, Windows Desktop, Mac OS X, Roku,
Tizen, BlackBerry and LG TV
https://www.madewithmarmalade.com/
22
Unity 3d
Лучшая платформа для 3D игр, есть и другие например, Unreal Engine
Язык: C# (Mono), JavaScript
23
Отлично подходит когда
нужно рисовать что-либо
в 3D
Xamarian
Язык: C#
Стоимость: $25 / month
Native User Interfaces, Native API
Access
Платформы: iOS, Android, Mac and
Windows
24
Mono Project
Sponsored by Xamarin, Mono is an open source implementation of
Microsoft's .NET Framework based on the ECMA standards for C#
Operating Systems
Linux Mac OS X, iPhone OS Sun Solaris
BSD - OpenBSD, FreeBSD, NetBSD
Microsoft Windows Nintendo Wii
Sony PlayStation 3
25
Qt
Платформы: Windows, Linux, OS X, Windows
Phone, iOS, Android
Язык: C++ или Qt Quick (JavaScript)
Стоимость: бесплатно для open-source
проектов
26
Библиотеки на JavaScript
Sencha Touch
The Appcelerator Platform
Недостатки: медленные
27
Apache Cordova
Язык: JavaScript
Цена: Free and open source
Access native device APIs
28
Battery Status
Camera
Contacts
Device Motion
(Accelerometer)
Dialogs
FileSystem
File Transfer
Geolocation
Globalization
InAppBrowser
Media Capture
Network Information
(Connection)
Vibration
React Native
Разработка Facebook, платформы: ios, android
Еще развивается, цель: создание нативных приложений на JavaScript
29
Шаг 3. Интерфейс
30
https://www.google.com/design/spec/material-design/introduction.html
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual
/MobileHIG/
http://developer.android.com/intl/ru/guide/topics/ui/accessibility/apps.html
31
На следующей лекции:
Презентации проектов и команд
Разработка приложений с помощью веб-технологий
Apache Cordova
32