Разработка мобильных приложений (syllabus)

Материал из Поле цифровой дидактики



Планируемые результаты обучения (Знать, Уметь, Владеть) Результаты:
  • Понимать
  • как создавать и проектировать мобильные приложения с помощью графического интерфейса.
что такое 603109
Знать
как интегрировать свои приложения с различными внешними сервисами, такими как базы данных, API и другие.
процесс публикации приложений в магазинах приложений, таких как Google Play Store.
Уметь
применять концепции программирования, такие как условия, циклы, переменные и функции для создания мобильных приложений.
использовать различные компоненты, такие как кнопки, текстовые поля, изображения и другие, для создания интерактивных пользовательских интерфейсов.
тестировать свои приложения и исправлять ошибки, используя инструменты отладки.
Содержание разделов курса Содержание
1. Введение в мобильную разработку
  • Разнообразие мобильных образовательных приложений
  • Основы мобильных платформ (Android, iOS)
  • Средства разработки мобильных приложений
2. Основы программирования
  • Переменные, типы данных и операторы
  • Условные операторы и циклы
  • Функции и классы
3. Разработка пользовательского интерфейса
  • Основы дизайна интерфейса
  • Использование различных элементов интерфейса (кнопки, текстовые поля, списки и т.д.)
4. Работа с сетью
  • Основы работы с HTTP-запросами
  • Работа с API
5 Тестирование и отладка
  • Основы тестирования мобильных приложений
  • Использование инструментов для отладки
Развертывание и публикация
  • Подготовка приложения к публикации
Видео запись
Среды и средства, которые поддерживают учебный курс App Inventor, Thunkable, OctoStudio, MediaWiki
Книги, на которых основывается учебный курс App Inventor 2 (book)

webapis-post.png


Введение в мобильную разработку

  • Разнообразие мобильных образовательных приложений
  • Основы мобильных платформ (Android, iOS)
https://gallery.appinventor.mit.edu/s/MGPU_Mobile_Apps/time - Студия
https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=Cat_Fact

Средства разработки мобильных приложений

 Description
App InventorApp Inventor является бесплатным инструментом для программирования для создания мобильных приложений для Android. Он был разработан Массачусетским технологическим институтом и предоставляет простой интерфейс для создания мобильных приложений, который доступен для любого пользователя. Для программирования в App Inventor используется визуальный язык программирования, очень похожий на язык Scratch и StarLogo Nova.
webapis-get-all-posts.png
Blockly
MicroBlocksЯзык программирования - клон языка Scratch специально спроектированный для управления физическими объектами
NetsBloxВизуальный блочный язык программирования - производный от Scratch и Snap! - внимание уделено сетевым возможностям, интеграции с Google картами. Утверждается (непроверенные сведения), что участники проектов могут редактировать программы так же как это происходит в Google-документах.
OctoStudioСреда для разработки школьниками своих собственных игр на мобильных устройствах
Pocket CodeМобильное приложение для создание детьми игр и цифровых историй
ThunkableThunkable был создан в 2015 году на основе более известного конструктора приложений MIT App Inventor 2, как платформа для разработки на Android. Со временем инструмент обрел кросс-платформенность (iOS и Android) и стал платформой для разработки веб-приложений. Пользователи Thunkable могут добавлять кнопки, текст, изображения и даже карты, чтобы создать полнофункциональное приложение с такими функциями, как push-уведомления, датчики, геолокация, камера, Bluetooth, автономные возможности, и другое. Создание приложений в базовом аккаунте является бесплатным, но при этом можно создавать только общедоступные приложения.


Разработка пользовательского интерфейса

  • Основы дизайна интерфейса
  • Использование различных элементов интерфейса (кнопки, текстовые поля, списки и т.д.)
  • Представление данных, сохранение данных
  1. Как создать первое мобильное приложение в App Inventor
  2. Как поделиться своим приложением App Inventor

Основы программирования App Inventor

Перечень рецептов

Статьи для рецептов в среде App Inventor

 Description
Генерация новых агентов в App InventorВ данном рецепте описаны шаги генерации новых агентов в App Inventor. Мы создаём холст, расставляем по нему невидимые шарики. Потом 2 шарика появляются и начинают летать, отталкиваясь от стенок экрана. Если шарик 1 сталкивается с шариком 2, то появляется шарик 3.
Использование клавиш клавиатуры в App InventorКак управлять объектом в мобильном приложении
Использовать Notifier для вывода сообщенийМы хотим, чтобы Notifier вернул нам сообщение, которое ввёл пользователь мобильного приложение в окне ввода. Что он введёт, то и появится в зоне Notifie. Очень простой пример для освоения среды, добавление элементов интерфейса. В окно ввода пользователь вводит значение, а программа их возвращает в Notifier.
  • 120px-Notifier_text2_blocks.png
Как использовать Scratch APIКак использовать внешний API в средах визуального программирования
Как использовать Web API with App InventorОбщие советы о том, как использовать внешний API и во что превращаются данные из JSON
Как использовать рюкзак в App InventorМы хотим использовать рюкзак внутри App Inventor для того чтобы воспользоваться чужими умениями и функциями
Как использовать холст и шарики (анимация)Интерактивные проекты, когда по холсту перемещаются рисунки и шарики (balls) - какие модели и симуляции можно построить в App Inventor. Эксперименты с возможностями раздела Drawing & Animation. Пример 1
  1. Разноцветные шарики - углерод, кислород, водород
  2. Когда шарики сталкиваются, Notifier говорит, какое именно соединение образовалось
Как поделиться своим приложением App InventorМы создали новое мобильное приложение в среде App Inventor и хотим им поделиться с окружающими
Как показать информацию об участнике из Scratch сообщества в App InventorПрограмма запросит имя участника (например, mres или patarakin) и соберёт о нем информацию, используя Scratch API:
  • соберёт его биографию и статус
  • число и перечень проектов
  • на кого он подписан
  • кто на него подписан
  • Как представить вики статью в App InventorУ нас есть имя статьи в вики и мы хотим в App Inventor об этой статье рассказать. Пользователь набирает имя статьи и на экране появляется:
  • Краткое содержание (description)
  • Редакторы
  • Ссылки из статьи
  • Ссылки к статье
  • Как рассказать историю рождения и гибели шариков в App InventorМы хотим показать возможные способы реализации паттернов Генерировать новых агентов и поглощать агентов в App Inventor
    Как собрать данные API запроса в DictionaryПолучили данные запроса к mediawiki api и хотим считать их в Dictionary, чтобы иметь возможность обращаться по ключам.
    Как создать первое мобильное приложение в App InventorВ рецепте описывается последовательность действий при создании приложения в App Inventor. В этом примере мы обращаемся с мобильного телефона по кнопке к Scrath API и выводим полученные данные на экран.
    Как сравнить followers following для участника ScratchУ нас есть имя участника. Мы хотим сравнить множество тех, на кого он подписан и множество тех, кто на него подписан. Приложение будет выводить тех, кто взаимен
    Как установить своё приложение App Inventor на телефонСоздали свое приложение на компьютере и хотим установить его на телефон
    Установить эмулятор App Inventor на компьютерМы хотим тестировать приложения App Inventor на том же компьютере, где мы их и создаём.

    Переменные

    Глобальные
    Global app.png
    1. Get
    2. Set
    Локальные - внутри блоков функции

    Local variable proc.png

    Условные операторы и циклы

    Условия внутри игрового проекта, когда столкновение порождает шарик

    Collidee if.png

    Условия внутри процедур работы со значениями и списками

    Procedure transformApp.png

    Пример использования - https://gallery.appinventor.mit.edu/?galleryid=62a1c638-31a9-4e73-9e86-f9395f33f225

    Условия внутри процедур работы со значениями и списками

    Пример с локальными переменными

    Типы данных

    1. Использование списка для хранения значений
    2. Использование базы данных TinyDB для хранения значений

    сохранение значений

    Функции

    Процедуры (do)

    • Устанавливает положение, направление и видимость объекта на холсте

    Do procedure.png

    Процедуры (result) - возвращают значение

    Result procedure.png

    Пример использования процедуры в проекте - https://gallery.appinventor.mit.edu/?galleryid=62a1c638-31a9-4e73-9e86-f9395f33f225

    Работа с сетью

    • Основы работы с HTTP-запросами
    • Работа с API

    Тестирование и отладка

    • Основы тестирования мобильных приложений
    • Использование инструментов для отладки

    Развертывание и публикация

    • Подготовка приложения к публикации


    Работа в вики среде

    Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»

    Критерии оценки по дисциплине

    Образовательный результат Тема Задание Пример
    Представляет разнообразие мобильных образовательных приложений, умеет сравнивать и описывать обучающие и аналитические мобильные приложения (насмотренность и наигранность) Введение в мобильную разработку Описать пример образовательного или аналитического мобильного приложения по шаблону в категории Категория:DigitalTool или Категория:DEG
    Умеет использовать различные компоненты, такие как кнопки, текстовые поля, изображения и другие, для создания интерактивных пользовательских интерфейсов Разработка пользовательского интерфейса Использовать в своем проекте составляющие пользовательского интерфейса
    Умеет применять концепции программирования, такие как условия, циклы, переменные и функции для создания мобильных приложений. Основы программирования Описать свой проект и задачи, которые в нем решены за счёт использования переменных, функций и различных типов данных в категории
    Умеет формировать в мобильном приложении запросы к внешним API. Умеет пользоваться API песочницей - Песочница MediaWiki API Работа с сетью, Работа с API, Получить, представить и использовать в проекте с App Inventor данные из API
    Умеет тестировать свои приложения и исправлять ошибки. Умеет публиковать проекты и размещать их в группе Тестирование, отладка, публикация Опубликовать свой проект в галерее и студии группы.