1191
.pdfвызывает эстетический отклик. Изобразительное искусство - способ самовыражения художника. Художник не связан почти никакими ограничениями. Чем необычнее и своеобразнее продукт его усилий, тем выше он ценится.
Дизайнеры создают объекты, которыми будут пользоваться другие люди. Если говорить о дизайнерах визуальных интерфейсов, то они ищут наилучшее представление, доносящее информацию о поведении программы, в проектировании которой они принимают участие. Придерживаясь целеориентированного подхода, они должны стремиться представлять поведение и информацию в понятном и полезном виде, который поддерживает маркетинговые цели организации и эмоциональные цели персонажей. Разумеется, визуальный дизайн пользовательских интерфейсов не исключает эстетических соображений, но такие соображения не должны выходить за рамки функционального каркаса.
2.2. Командные элементы управления
Вопросы для рассмотрения: Элементы управления.
Редактирование данных в форме. Редактирование ячеек табличного поля, табличного документа. Реквизиты формы. Элементы управления выбором. Элементы ввода. Элементы управления отображением. Шрифты. Масштабирование
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
Элементы управления - это доступные для манипулирования самодостаточные экранные объекты, посредством которых люди взаимодействуют с цифровыми продуктами. Элементы управления (controls, другое название - widgets - сокращение от windows gadgets - оконные приспособления) - это базовые строительные блоки графического пользовательского интерфейса.
Рассматривая элементы управления с учетом целей пользователя, их можно разбить на четыре основные категории:
командные элементы управления, применяемые для выполнения функций;
элементы выбора, позволяющие выбирать данные или настройки;
элементы ввода, применяемые для ввода данных;
элементы отображения, используемые для наглядного непосредственного манипулирования.
Некоторые элементы управления сочетают в себе свойства более чем одной категории.
Раздел 3 Разработка мобильных приложений под iOS
3.1.Инструменты для разработки под ОС iOS
Вопросы для рассмотрения: Языки программирования: Objective-
C и Swift. Особенности языка Objective-C. Особенности языка Swift. Использование языков для поддержки «старого» и «нового» софта.
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
В сегменте мобильных технологий, без сомнения, лидирует Apple со своим смартфоном iPhone. На прошедшей в сентябре презентации компания из Купертино продемонстрировала уже 7-ю версию мобильного девайса. Вместе с ней Apple представила новую версию мобильной операционной системы iOS 10. Теперь это самая значимая операционка в мире, как и ее предшественницы. Из этого следует, что изучение разработки для iOS — самое выгодное вложение времени и средств.
«Яблочная» экосистема Сегодня мы займемся разработкой простого мобильного
приложения для iOS. Конечно, лучше всего для этого подходит родной Mac. Но если ты сторонник Windows или у тебя просто нет Мака, можно установить операционную систему macOS под виртуальную машину в Windows. На просторах Сети тебе не составит большого труда найти специально заточенную под PC версию macOS, в народе называемую Хакинтош. Смело ставь ее на виртуалку VMware, VirtualBox — на твой выбор. Сразу предупрежу, что на PC-клавиатуре нет части клавиш, которые есть на Mac-клаве, и многие их сочетания нажать в Хакинтоше невозможно. Это изрядно портит настроение. В остальном все описанные ниже операции можно успешно выполнить на Хакинтоше.
Необходимые знания
Чтобы программировать вообще и для iOS в частности, надо довольно много знать. Математика и логика, может, и не понадобятся вначале, но будут востребованы потом. Современные технологии избавили программиста от необходимости досконально знать архитектуру компьютера, однако понимать базовые механизмы, такие как системы счисления, их преобразование, скорость работы подпрограмм или эффективность алгоритмов (большое O)
3.2. Разработка приложения под iOS
Вопросы для рассмотрения: Разработка приложения для операционной системы iOS. Система программирования Xcode и язык Objective-C. Тестирование приложения на симуляторе iPhone 7. Создание пользовательского интерфейса с помощью Interface Builder.
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
Когда мы задумываемся о разработке под iOS, чаще всего в голове возникает пятизначная сумма входного порога: как минимум нужно iOS-устройство на последней версии ОС и Mac. Если вы уже пишете под iOS, вам наверняка известны альтернативные варианты, а если нет
— посмотрите, вдруг пригодится? Приведенный ниже обзорный пост — как раз на этот случай. Под катом вы найдете довольно простую информацию, так что если хотите хардкорчика, вам не сюда!
Итак, у нас в руках iOS-устройство, в голове — идея приложения, в сердце — желание поскорее овладеть новыми знаниями. Перед нами три пути, прямо как у былинного богатыря:
Берем Mac (точнее, нам нужна OS X), берем Xcode с iOS SDK, берем Objective-C или Swift, делаем проект, и на выходе получаем самое настоящее, «нативное», iOS-овское приложение, которое даже можно со спокойной душой засабмитить в App Store, и радоваться показу баннеров тому, что наша небольшая разработка приносит людям радость.
Берем хоть Mac, хоть Windows-машину, выбираем фреймворк, позволяющий писать мобильные приложения на более знакомых многим языках (JavaSctipt, C#). Заботу о том, как наш код выполнится на устройстве, возьмет на себя фреймворк: для обеспечения выполнения
с нашим кодом будет слинкован механизм исполнения кода (runtime), в задачи которого, среди прочего, входит трансляция вызовов используемого языка программирования в API мобильной платформы. Плюс подхода состоит в определенной независимости от конкретной мобильной платформы (с которой нас связывает только сам runtime), минус же — в меньшей, чем у «родного» приложения, скорости работы.
Берем Блокнот любой редактор текстовых файлов, ваяем вебстраницу, должным образом ее обустраиваем, и на выходе получаем веб-приложение, которое, по сути, будет запускаться в полноэкранном окне браузера (как самое настоящее приложение на платформе — без адресной строки браузера), но работать будет, конечно, со скоростью и отзывчивостью обычной веб-страницы. В первую очередь это будет видно при отсутствии нормального интернет-соединения, однако, согласитесь, даже такой вариант иногда удобен. Веб-приложение, кстати, имеет тот плюс, что для доступа пользователей к нему страницу не требуется отправлять в App Store, достаточно дать людям ее URL и предложить добавить себе «на домашний экран».
3.3. Преимущества и недостатки iOS от других операционных систем.
Вопросы для рассмотрения: Быстрота и производительность программного обеспечения. Надежность системы безопасности. Простота и понятность интерфейса. Закрытость платформы. Приобретение продукции и программ для платформы iOS. Отсутствие поддержки технологий NFC и Wi-Fi Direct.
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
IOS - это экосистема. Под этим словом подразумевается общая связь всех устройств на iOS, которые у вас есть. Фотографии, сделанные чем угодно, закачиваются в единое хранилище, текст в редакторе можно начать писать на iPhone, а закончить на iPad (или компьютере Mac), пароль, введенный в браузере на одном устройстве, автоматически начинает храниться и на другом, и так далее.
Это удобно, но для этого нужно купить несколько гаджетов Apple, что не всем по карману. С другой стороны, совместить так же смартфон на Android и iPad не получится. Похожую экосистему пытается выстроить Samsung, остальные же производители как будто бы перестали думать в данном направлении.
Влинейке iPhone до сих пор есть мощные и удобные смартфоны с небольшими экранами. Это и четырехдюймовый iPhone SE, и вышедшие позднее iPhone 6s, 7 и 8 с диагональю экрана 4,7 дюйма.
Попробуйте найти приличный смартфон на Android с экраном меньше 4,7 дюйма - будете неприятно разочарованы. Это пара моделей Samsung, еще пара - производства Sony, по одной модели от Lenovo и Asus. Остальное - или какой-то тихий ужас с маломощными процессорами, минимальным объемом памяти и низким разрешением экрана, или смартфоны из кожи крокодила за 200 тысяч рублей (с аппаратной начинкой пятилетней давности), или "лопаты" с экранами от пяти дюймов и до бесконечности. Найти маленький и мощный Androidсмартфон - это проблема.
IOS - это как минимум четыре года обновлений операционной системы. Фанаты Android гадают, выйдет ли для их смартфонов хотя бы следующая версия платформы, а владельцы яблочных устройств не парятся на эту тему. Например, новейшую iOS 11, выпущенную в сентябре 2017 года, можно установить даже на iPhone 5s. А он, на минуточку, вышел в сентябре 2013.
Для сравнения - "эталонный" смартфон Google Nexus 5 того же года выпуска обновился в октябре 2016 и на этом все. А некоторые производители Android-смартфонов могут вообще ни разу не обновить платформу. Никаких новых функций сервисов, никаких обновлений безопасности.
ВiOS 11 обнаружили серьезный баг
IOS - защищенная система. Приложения устанавливаются только из проверенного каталога App Store, и скачать из интернета установочный файл какой-то программы, чтобы затем запустить его, не получится (а в Android - получится, но за положительный результат ручаться нельзя).
Поэтому для iPhone нет каких-то толковых антивирусов - они пока что не нужны. Что произойдет в будущем, сложно загадывать, но сейчас пользоваться iPhone - достаточно безопасно. Исключение - поддельные сайты, которые похожи на настоящие (например, системы интернетбанков) и обманом добывают логины, пароли, номера кредитных карт.
Платформа iOS и "железо" для нее подогнаны друг к другу настолько, насколько это возможно. Если вы не бета-тестер "сырых" версий операционной системы, то ваш iPhone практически не будет глючить или тормозить. В отличие от смартфонов на Android - даже самые мощные из них довольно быстро могут стать "задумчивыми". Не исключено, что все дело в программных нашлепках, которые производители разрабатывают сами и устанавливают поверх "голого"
Android. Эти дополнительные приложения могут занимать место в памяти, загружать процессор и влиять на плавность работы.
Мощная начинка - это не залог быстрой и уж тем более безошибочной работы системы в целом. Многие эксперты советуют покупать смартфоны на базе "голого" Android. Это аппараты серий
Nexus и Pixel от Google, смартфоны Motorola и OnePlus. Ну и iPhone,
конечно.
Раздел 4 Разработка мобильных приложений под Windows Phone 4.1. Инструменты для разработки под Windows Phone
Вопросы для рассмотрения: Описание и особенности использования языка C# и расширяемого языка разметки для приложений XAML. Версия Visual Studio 2010 Express for Windows Phone. Интерфейсные элементы, особенности среды разработки.
Использованием утилит Windows Phone Developer Registration Tool и Windows Phone SDK.
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
Visual Studio 2010
Чтобы разрабатывать для Windows Phone потребуется Visual Studio 2010 c Service Pack 1 редакции Professional или выше. Если у вас нет Visual Studio 2010, при установке инструментария разработки для Windows Phone, автоматически будет установлена бесплатная версия
Visual Studio 2010 Express for Windows Phone, на которой также можно разрабатывать приложения под Windows Phone.
Обе версии интегрированных средств разработки Visual Studio предоставляют разработчику полноценные возможности отладки на устройстве и эмуляторе, такие же, как у разработчиков приложений под настольную версию Windows.
Обратите внимание, что для того, чтобы отлаживаться на устройстве, помимо собственно устройства и кабеля для подключения к компьютеру, необходимо иметь установленное на компьютере со средствами разработки ПО Zune Также перед развертыванием приложения и отладкой, требуется зарегистрировать устройство («разлочить» его), используя утилиту Windows Phone Developer Registration Tool, которая устанавливается вместе с Windows Phone
SDK.
Windows Phone SDK
Этот пакет, доступный для скачивания на сайте App Hub http://create.msdn.comсодержит всё необходимое, для того, чтобы начать разработку. На момент написания этой статьи, последняя версия инструментария доступна в версии Windows Phone SDK 7.1 Release Candidate в лицензии «Go Live» с возможностью разрабатывать свои приложения и публиковать их в Windows Phone Marketplace. Windows Phone SDK 7.1 Release Candidate содержит следующие компоненты:
1.Windows Phone SDK 7.1
2.Windows Phone Emulator
3.Windows Phone SDK 7.1 Assemblies
4.Silverlight 4 SDK and DRT
5.Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
6.Expression Blend SDK for Windows Phone 7
7.Expression Blend SDK for Windows Phone OS 7.1
8.WCF Data Services Client for Windows Phone
9.Microsoft Advertising SDK for Windows Phone
Если у вас не установлена версия Visual Studio 2010 редакции
Professional, Expression Bland 4 или XNA Game Studio 4.0, в процессе установки также будут скачаны и установлены:
1.Visual Studio 2010 Express for Windows Phone
2.Expression Blend 4 for Windows Phone
3.XNA Game Studio 4.0
4.Expression Blend и Expression Blend for Windows Phone Expression Blend – это интерактивный визуальный дизайнер для
XAML, технологии описания интерфейса для приложений Silverlight и Windows Presentation Foundation (WPF). Это отличное средство разработки, которое позволяет просто манипулировать слоями, анимацией, стилями и шаблонами. Это базовое средство разработки на XAML. Собственно программа Expression Blend не бесплатна, однако специальная версия для создания дизайнов приложений под Windows Phone под названием Expression Blend 4 for Windows Phone доступна для разработчиков бесплатно. Она закачается и установится в процессе установки Windows Phone SDK, если у вас на компьютере нет полной версии Expression Blend.
XNA Game Studio 4.0
XNA Game Studio – это программное окружение, которое позволяет разрабатывать в Visual Studio игры для Windows Phone, консоли Xbox 360 и компьютеров на базе Windows. Включает в себя XNA Framework, представляющий собой набор библиотек на управляемом коде для разработки игр.
Windows Phone Emulator
Несмотря на то, что Windows Phone Emulator не содержит полного набора приложений, доступных на реальном устройстве, он предоставляет мощную среду, позволяющую практически полностью разработать приложение в эмуляторе.
Эмулятор Windows Phone Emulator не поддерживает проигрывание медиаконтента Zune. Эмулятор поставляется только с одним встроенным приложением Internet Explorer, но это Internet Explorer 9 с поддержкой HTML5.
При этом эмулятор позволяет тестировать звонки и отсылку SMSсообщений, поддерживает мультитач на мониторах с его поддержкой, поддерживает симуляцию камеры, геолокационных сервисов и акселерометра, а также позволят делать снимки экрана.
4.2. Разработка приложения для Windows Phone.
Вопросы для рассмотрения: Разработка приложения на языке
C#. Тестирование приложения на Visual Studio 2010 Express for Windows Phone.
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
Visual Studio 2010 Express for Windows Phone включает в себя drag-and-drop дизайнер, который имитирует внешний вид телефона, редактор кода и отладчик. Если вы работали с Visual Studio для разработки других видов приложений, вы обнаружите среду для разработки мобильных приложений очень знакомой. На следующем изображении показан внешний вид Visual Studio 2010 Express for Windows Phone.
Дизайнер для Windows Phone содержит панель инструметов
(Toolbox), режим дизайна (Design view), режим XAML (XAML view),
обозреватель решений (Solution Explorer) и окно «Свойства» (Properties window), похожие на стандартный дизайнер Visual Studio. Два ключевых различий в том, что в режиме дизайна поверхность выглядит как Windows Phone устройство, и появилось целевое устройство (Target device), которое позволит вам выбрать, будет ли вы отлаживать приложение на устройстве или эмуляторе. На следующем изображении показан внешний вид эмулятора в портретной и альбомной ориентации.
4.3. Преимущества и недостатки Windows Phone
Вопросы для рассмотрения: Работа в интернете с помощью Internet Explorer Mobile. Особенность телефонной книги. Полная синхронизация с социальными сетями. Особенности ввода текста с моментальной проверкой
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
Internet Explorer Mobile (старое название: Pocket Internet Explorer;
используется аббревиатура IE Mobile) — мобильный веб-браузер, разработанный компанией Microsoft на движке Trident. Устанавливается по умолчанию в операционных системах Windows Phone и Windows CE.
Синхронизация - это система алгоритмов, обеспечивающих параметрическое единство разных объектов во времени и пространстве.
Раздел 5 Разработка мобильных приложений под Android 5.1. Инструменты разработки Android приложений
Вопросы для рассмотрения: Среда Java Runtime Environment (JRE). Виртуальная машина. Компилятор Java. Стандартные библиотеки классов Java, документация, утилиты. Java SDK, Android SDK, Eclipse IDE for Java Developers, создание эмулятора мобильного устройства, ADT plugin.
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
Java Runtime Environment (сокр. JRE; русск. среда выполнения для Java) — минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений, без компилятора и других средств разработки. Состоит из виртуальной машины — Java Virtual Machine — и библиотеки Java-классов.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы (target — целевая, или гостевая платформа) и исполняющая программы для target-платформы на host-
платформе (host — хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы.
Android SDK - универсальное средство разработки мобильных приложений для операционной системы Android. Отличительной чертой от обычных редакторов для написания кодов является наличие широких функциональных возможностей, позволяющих запускать тестирование и отладку исходных кодов, оценивать работу приложения в режиме совместимости с различными версиями ОС Android и наблюдать результат в реальном времени. Поддерживает большое количество мобильных устройств, среди которых выделяют: мобильные телефоны, планшетные компьютеры, умные очки, современные автомобили с бортовыми компьютерами на ОС Андроид, телевизоры с расширенным функционалом, особые виды наручных часов и многие другие мобильные гаджеты, габаритные технические приспособления.
5.2. Визуальные компоненты и интерфейс приложения
Вопросы для рассмотрения: Параметры интерфейса, единицы измерения. Варианты Layout. Работа с ориентацией экрана. Рисование. Меню. Кнопки. Диалоговые окна. Применение DDMS для отладки приложения.
Рекомендуемая литература: 4.
Перечень дополнительных ресурсов: 1, 2, 3.
Наименование вида самостоятельной работы: Изучение вопросов темы, подготовка к лабораторным работам, написание докладов.
Layout обычно называют структурированное отображение информации на плоскость.
DDMS (Dalvik Debug Monitor Server) — безумно полезный инструмент для отладки приложений, который идет в комплекте с Android SDK, о котором почему-то особо и не сказано на хабре, впрочем как и в примерах google он представлен в очень скромном виде. Я бы хотел раскрыть его возможности и показать на что он способен. Вкратце:
изучать информацию о работающих потоках;
анализировать heap на количество свободной и занятой памяти;
анализировать какие объекты чаще создаются, их размер и другое (Allocation tracker);
находить проблемные участки кода, которые долго работают и требуют оптимизации (Method profiling). Это я советую знать всем.
