Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Критерии выбора средств разработки мобильных приложений (Теоретические аспекты выбора средств разработки мобильных приложений)

Содержание:

Введение

Данная тема актуальна тем, что каждый человек желает достигнуть максимального комфорта в каждой из сфер жизни, это затронуло и международную паутину Интернет. Пользователь, желая всегда оставаться в сети, использует в качестве коммуникатора телефон. Это обусловило появление мобильного Интернета.

Каждый день тысячи мобильных приложений появляются в Google Play и Apple App Store. Социальные сети, мессенджеры, игры и многое другое - все они сделаны профессионалами по единому алгоритму разработки. Он состоит из шести этапов: разработка идеи, разработка стратегии, разработка дизайна, непосредственная разработка, выход на рынок и мониторинг ситуации.

Рынок мобильных приложений растет с каждым годом. По данным компании «Связной», в мае 2016 года было продано 9,1 миллиона смартфонов, что на 7 процентов больше, чем в мае 2015 года. Это позволяет говорить о том, что рынок мобильных приложений также косвенно расширяется. Расширение рынка, в свою очередь, означает больший приток клиентов для тех компаний, которые имеют свое собственное приложение или адаптивное интернет-представительство, и открытие новых ниш, которые компания может занять. Корпоративные мобильные приложения интегрированы в корпоративную информационную систему, что также ускоряет информационные потоки в компании[12,c 89 ]

В настоящее время существует два типа инструментов разработки для создания мобильных приложений: инструменты для разработки собственных мобильных приложений и инструменты для создания веб-приложений, адаптированных для мобильных приложений. Эффективность самого приложения зависит от выбора конкретного инструмента создания. Это определяет актуальность данной темы.

Целью данного исследования является анализ средств создания мобильных приложений, а также определение критериев выбора.

Исходя из цели работы, можно выделить задачи, которые будут достигнуты в работе:

1. Рассмотреть вопрос о разработке мобильного приложения: от идеи до результата

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

3. Проанализировать выбор инструментов для реализации мобильных приложений.

4. Провести обзор популярных платформ для разработки мобильных приложений.

5. Оценить и сравнить инструменты для создания мобильных приложений

Объект исследования - мобильное приложение.

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

В процессе исследования использовались такие методы, как анализ, синтез, классификация, аналогия, индукция и дедукция.

Структура курсовой работы включает введение, 3 главы, заключение, список использованных источников, а также приложение.

Глава 1. Теоретические аспекты выбора средств разработки мобильных приложений

1.1 Разработка мобильного приложения: от идеи до результата

Как бы банально это ни звучало, хорошее приложение начинается с хорошей идеи.

Следующим шагом после рождения идеи является составление рабочего плана проекта. Проще всего начать с анализа конкурентов. Нужно найти похожие мобильные приложения на рынке и проанализировать следующие факторы:

• Количество загрузок - если приложение загружено, оно кому-то нужно.

• Рейтинги и обзоры - помогут выявить слабые стороны и адаптировать «фишки», которые нравятся пользователям для вашего продукта.

• История компании – нужно быть готовым столкнуться с теми же проблемами, что и ваши ближайшие конкуренты. В то же время нужно постараться понять, как они завоевали признание аудитории. [7, с 176]

Этап маркетинга мобильной разработки связан с пониманием главной задачи, стоящей перед любым разработчиком. Нужно будет продвигать свое приложение, чтобы узнать о нем и начать его использовать. Сотни высококачественных мобильных приложений пылятся на виртуальных полках, потому что у их разработчиков не было маркетинговой стратегии и бюджета для ее реализации. А без этого могут обойтись только приложения B2B, созданные для внутреннего использования сотрудниками компании-заказчика.

Этап стратегического планирования заканчивается дорожной картой для вашего мобильного приложения, которая уловит его идеальный путь от минимального жизнеспособного продукта (MVP) до верхушек магазинов. Нужно составить список контрольных точек и расположить их в соответствии с вашими приоритетами.

Внутренняя архитектура зависит от функциональности мобильного приложения и выбранного метода обработки и хранения данных. Обычно составляют два списка - характеристики, которые должно иметь приложение, и ключевые визуальные элементы. [2, с. 76] Они становятся основой для всех будущих архитектурных работ.

Пользовательские скрипты определяют, как пользователь взаимодействует с приложением. Нужно рассмотреть все варианты его поведения, чтобы понять, сколько касаний ему потребуется для выполнения того или иного действия, и количество этих касаний должно быть пропорционально сложности действия. Если обнаружится, что интерфейс не понятен пользователю интуитивно, вам необходимо вернуться к предыдущему шагу и изменить каркас. Более того, после любого изменения все пользовательские скрипты снова проверяются на случай, если мы, упростив одно действие, усложнили другое.

Самый простой способ проверить, насколько хорош ваш UX-дизайн, - протестировать его на будущих пользователях. Нужно отправить им ссылку, после нажатия на которую они смогут «тыкать» на отрендеренные каркасы.

Стилоги - это строительные материалы для оформления «интерьера» мобильного приложения и повышения его удобства использования. Без продуманного руководства по стилю элементы дизайна будут менять цвета и плавать по экрану, сбивая пользователя с толку. [5, с. 165]

Руководство по стилю мобильного приложения должно быть максимально подробным и основанным на характеристиках аудитории. Нужно ли ей работать в приложении ночью? Мы делаем темную тему. Это внутреннее приложение для сотрудников крупной компании? Мы удаляем все ненужное. Как это сделать? Опытный дизайнер пользовательского интерфейса предложит сотни вариантов цветовой палитры, шрифты и виджеты (кнопки, формы, значки и т. д.).

Рендеринг - это процесс рендеринга каркасов в цифровом виде в соответствии с руководством по стилю. [14, с. 90] Дизайнер должен придерживаться рекомендаций, но не следовать им вслепую. Только так визуальная составляющая мобильного приложения будет выглядеть целостно.

Не нужно тратить время на отправку экранов, нарисованных в цифровом формате, тем же пользователям, которые отправляли каркасы. Это своего рода поворотный момент, после которого любые изменения становятся чрезвычайно дорогостоящими. Фактически, вы заполняете фундамент будущего дома, так что вам не нужно проверять план и проверять все измерения десять раз?

Настало время соединить разработчиков, которые реализуют продуманный и многократно протестированный дизайн с высоким качеством. Что может пойти не так? Например, мы заказали дизайн у одной компании, а разработку у другой. Или у них есть внутренний раскол. Поэтому рекомендуется работать с профессиональной командой, которая занимается разработкой мобильных приложений от идеи до результата.

В какой-то степени успех сотрудничества дизайнеров и разработчиков зависит от выбора инструментов. Например, приложение Zeplin в последний раз показывает все свойства загруженного в него дизайна, хотя оно не обладает всеми возможностями Sketch или Photoshop. В любом случае, убедитесь, что команда использует точные значения измерений и не ленится копировать цветовые коды HEX. [19, с. 155]

В разработке мобильных приложений очень много технологий. Некоторые почти не требуют затрат, но не отличаются высокой производительностью, другие требуют больших инвестиций во имя блестящего результата. Худшее, что можно сделать на этом этапе, - это использовать устаревшие или ненадежные инструменты, что приведет к тому, что вам придется переписать код, заплатив остальную часть команды за обработку. Чтобы избежать этого, рекомендуется принять ряд важных решений перед началом работы над проектом.

Существует три основных подхода к развитию веб-интерфейса:

• Native - при таком подходе приложение написано для конкретной мобильной платформы. То есть код приложения для Android нельзя использовать на iOS без адаптации. Интерфейс нативного приложения выглядит максимально органично и работает быстро и без сбоев. За такую ​​надежность нужно платить, поэтому нативная разработка обходится дороже, чем другие варианты.

• Кроссплатформенный - код для такого приложения универсален, в результате чего ОС запускает его как нативный. Многие считают этот метод оптимальным с точки зрения соотношения цены и качества, но все же он требует от разработчика времени на оптимизацию. Если вы остановитесь на этом, то среди фреймворков выберите между React Native, Xamarin и Native Script.

• Гибридный - код написан на HTML, CSS или Javascript в таких средах разработки, как Cordova, Phone Gap и Ionic. Получается дешево, сердито и не без проблем.

Бэкэнд-разработка (программный интерфейс и сервер) [11, с. 66]

Сервер влияет на производительность мобильного приложения и масштабируемость продукта, то есть способность системы увеличивать ту же производительность за счет увеличения доступных ресурсов. Технологии здесь такие же, как и при разработке веб-приложений. Начальная точка - определиться с:

• Язык программирования - вы можете написать мобильное приложение на Java, SWIFT и сервер на Javascript, C #, Go-lang, PHP, Python и еще на дюжине языков. И у каждого из них есть рамки на любой вкус.

• Система управления базами данных - они делятся на два типа: те, которые работают на SQL, и все остальные. Системы SQL надежны и подходят для решения практически любых задач. Наиболее популярными являются MSSQL, MYSQL и PostgreSQL. Кроме того, вам нужно выбрать движок (подсистему хранения) и построить базовую схему. Ваша цель на этом этапе - сделать систему надежной и хорошо структурированной. Не поленитесь и тщательно продумайте каждый из его элементов.

• Хостинг для сервера и API - и здесь важно учитывать производительность и масштабируемость приложения, а также его надежность и цену в магазинах. Поставщики, такие как Amazon AWS и Rackspace, предлагают разработчикам облачные решения, и размер облака может быть увеличен по мере роста базы пользователей. Они также помогут с резервным копированием данных и оперативными обновлениями. [9, с. 66]

На стадии разработки команда воплощает идеи дизайнеров и свои собственные. Результат проверяется командой QA (отдел контроля качества) или менеджером проекта. Последний также распределяет задачи между разработчиками, обеспечивая равномерную загрузку команды на протяжении всего спринта.

Разработчики должны четко понимать концепцию приложения и его отличительные особенности. Ничто не мотивирует как амбициозные цели, но, преследуя их, мы не должны забывать о реальности. Возможно, вам придется смириться с тем, что некоторые функции останутся нереализованными.

Приложение не должно тестироваться его разработчиками.

Тип тестирования выбирается исходя из протестированных характеристик приложения:

• Функциональность - должна соответствовать заявленной. Хорошо, если у подрядчика есть команда QA, и у нее есть план тестирования со списком всех функций приложения и его желаемого поведения. Но если их нет, нужно позаботиться об этом и нанять специально обученных специалистов. Удобство использования - интерфейс мобильного приложения должен быть интуитивно понятным и дружественным. Те, кто впервые увидит продукт, расскажут вам о проблемах с этими качествами.

• Производительность - никто не будет использовать приложение, которое загружает домашний экран более 10 секунд. И хотя производительность обычно тестируется на более поздних этапах разработки, вам необходимо следить за временем отклика.

• Дизайн - здесь дизайнеры должны будут снова принять участие в работе и убедиться, что каждая деталь визуального стиля была реализована разработчиками в соответствии с руководством по стилю. Кстати, это еще одна веская причина работать с компаниями, которые занимаются как разработкой, так и дизайном. [4, с. 123]

Но это не все:

• Регрессионное тестирование - используется для проверки уже проверенного кода на наличие ошибок, которые были исправлены ранее или возникли в результате этих исправлений. Здесь снова команда QA приходит на помощь с контрольными списками изменений, внесенных в код каждого спринта.

• Тестирование платформы - на них установлено множество комбинаций мобильных устройств и операционных систем. Посмотрите, как приложение работает на смартфонах с разными размерами экрана и разрешениями, и запустите его на разных версиях ОС.

• Пользовательское приемочное тестирование - проводится будущими пользователями приложения и показывает, готов ли продукт к выходу на рынок. Собирайте отзывы и готовьтесь к запуску, только если ваше приложение прошло все предыдущие тесты с блеском. [12, с. 66]

В конце каждого спринта нужно обсудить его результаты с заинтересованными сторонами. Не может быть двух одинаковых проектов, поэтому разработчики постоянно прокачивают свои навыки, в том числе навыки планирования работы над проектом. Который, кстати, переходит к следующему этапу.

На этом этапе заявка должна быть полностью подготовлена ​​для выхода на рынок. Но если хочется разумно расходовать свой маркетинговый бюджет, то слишком рано размещать приложение в открытом доступе для Google Play и Apple App Store. Нам нужно протестировать это снова - на этот раз в небольших группах целевой аудитории. Есть два способа сделать это.

Первое правило фокус-группы заключается в том, что участники должны увидеть приложение в первый раз. Нужно выяснить, кто они, как они узнали о вашем продукте и используют ли они что-то подобное. Когда вы переходите непосредственно к тестированию, не давайте подсказок, а смотрите, с какими трудностями люди сталкиваются при использовании приложения. Затем попросите каждого участника высказаться и обсудить все спорные вопросы. [13, с. 133]

Вместе с фокус-группой (или вместо нее) можно организовать пробный запуск приложения для ограниченной аудитории опытных пользователей и охотников за новинками. Обязательно сообщите им, что вы цените их интерес, попросите обратную связь и пообещайте принять во внимание конструктивную критику. Кстати, бета-тестирование также позволяет проверить, как ваше приложение работает с различными устройствами и операционными системами.

Прежде чем представить свое мобильное приложение миру, позаботьтесь о двух вещах: надежный сервер API и соответствие правилам Google Play Store и Apple App Store.

Большинству мобильных приложений нужен внутренний сервер, который связывается с ними. Если сервер перегружен или не отвечает, приложение не будет работать. Хорошая новость: благодаря облачной технологии конфигурация сервера может быть изменена в зависимости от размера пользовательской базы.

Разработка мобильного приложения не заканчивается его публикацией в рассказах. Даже умеренно популярные приложения имеют целую историю обновлений. Исправлены ошибки, улучшения производительности, новые функции - множество причин. Мониторинг следующих аспектов поможет вам выбрать тот, который вам нужен.

Есть много библиотек для отслеживания сбоев приложений. Они хранят информацию о том, что пользователь сделал во время аварии, на каком устройстве это произошло и многое другое - в общем, все, что поможет разработчикам решить проблему. Кроме того, функция отправки сообщения о сбое может быть интегрирована в само приложение. Вы просто должны их отсортировать. [15, с. 80]

Современные аналитические системы для мобильных приложений собирают информацию об аудитории вашего приложения (распределение пользователей по полу, возрасту, местоположению, языку и т. д.) И особенностях взаимодействия с ним (время входа в приложение, время, проведенное в приложении, количество просмотренных экранов и т. д.). Некоторые даже составляют тепловые карты, которые показывают, какие кнопки нажимают пользователи чаще, чем другие. Используйте эти данные в качестве ориентира на будущее: инвестируйте средства в завершение тех областей, в которых концентрация действий аудитории наиболее высока.

Рейтинги и обзоры в магазинах имеют решающее значение, особенно для новых приложений. Всегда отвечайте комментаторам: поблагодарите за добрые слова и постарайтесь помочь тем, кто испытывает трудности с использованием вашего приложения. Комментаторы обычно не ожидают, что реальные разработчики ответят. Немного больше внимания к клиенту - и две звезды превращаются в пять, и ваша репутация взлетает до небес.

Цель мониторинга - понять, что делать дальше. Используйте статистику и обзоры, чтобы выявить слабые стороны, а затем вернуться на n шагов и усилить их. Увеличивайте конверсию пользователей в клиентов, расширяйте клиентскую базу, зарабатывайте в конце концов. В конце концов, мобильная разработка - это очень динамичная среда, и чтобы быть на плаву, мы должны постоянно работать над продуктом и над собой. [16, с. 89]

Процесс разработки мобильного приложения кажется сложным только на первый взгляд. Да, придется принимать много важных решений и постоянно возвращаться к предыдущим этапам, но это будет стоить того, для того чтобы добиться наилучшего результата

1.2 Типы мобильных приложений: критерии выбора

Узнать о пробках, узнать погоду или получить доступ к социальным сетям через смартфон - это обычный порядок вещей для каждого современного человека. Все это было бы невозможно представить без мобильных приложений. Поэтому естественно, что они стали элементом бизнеса. И сегодня все больше и больше людей, которые строят свою жизнь на стремлении увеличить доход, обращаются к разработчикам за их созданием.

При разработке того или иного мобильного приложения, прежде всего, необходимо сосредоточиться на их типах. Действительно, в этом контексте технология создания управляет этим, в зависимости от того, какие мобильные приложения следует разделить на нативные, гибридные и веб-приложения. Естественно, каждый вид щедро наделен преимуществами, но не лишен недостатков. [11, с. 89] И для того, чтобы определить плюсы и минусы, необходимо учитывать следующие критерии:

1. Наличие грамотных разработчиков. Критерий подразумевает, насколько быстро можно найти специалистов, способных создать продукт. Конечно, в форме и качестве, которое соответствует вашим ожиданиям. Это касается и тех специалистов, которые будут оказывать поддержку продукта в будущем.

2. Время, отведенное на разработку. Это означает, что вам нужно решить, сколько временного ресурса потребуется, если выполняются следующие условия:

- брать разработчиков, которые идентичны друг другу с точки зрения профессионализма

- дать им аналогичное задание

- обеспечить разницу только в форме разработки технологии

3. Практичность в плане разработки и настройки. Это связано с тем, как разработанные инструменты для создания и настройки приложения работают в рамках технологии, используемой разработчиками.

4. Техническая поддержка продукта. Важно спросить, существует ли действующая техническая поддержка в отношении конкретной технологии. Более того, оно должно быть регулярным. То есть необходимо учитывать такие особенности, как скорость выпуска обновлений и скорость исправления критических ошибок.

5. Скорость работы. Производительность приложения имеет важное значение. Поэтому стоит выяснить, заметны ли переходы между экранами и какие задержки происходят.

6. Удобство для пользователя. Использование приложения должно быть удобным для среднего пользователя. И поэтому его опыт работы с приложениями на этой ОС следует учитывать.

7. Распространение на ОС. Роль играет возможность использовать код (по крайней мере - частичный, максимум - полный) в различных операционных системах. [11, с. 65]

1.3 Выбор инструментов для реализации мобильных приложений

При выборе инструментов для разработки мобильных приложений следует руководствоваться многими факторами: совместимость мобильного приложения, его тип; выбор платформы и программного обеспечения; наличие аналогичных товаров и их количество, а также качество исполнения; скорость и простота разработки; возможность монетизации приложения путем интеграции с рекламными площадками или внутренней системой закупок и т. д. [15, .с 98]

Отметим, что сегодня существует три основных агрегатора мобильных приложений: Google Play, App Store и Windows Store. Таким образом, выбор инструментов для реализации мобильного приложения напрямую зависит от целевой платформы. Так, например, если вы планируете создать приложение для системы iOS, вам необходимо использовать Objective-C или Java ME; в случае формата XML, для целевой аудитории пользователей устройств Android. Ориентируя приложение на платформу Windows Store, мы можем говорить о значительных преимуществах совместимости: как на смартфонах и планшетах, так и на ПК, поскольку большая целевая аудитория обеспечивает больше загрузок и установок.

Для разработки приложений, а также для расширения возможностей готовых приложений программисты используют набор инструментов разработки, обеспечивающих доступ к соответствующему программному обеспечению. SDK (Software Development Kit) - набор инструментов разработки, включающий библиотеки, примеры, исходные коды, средства отладки). SDK оптимизирует процесс создания приложений путем решения общих задач.

Наборы инструментов каждого из SDK различаются в зависимости от типа приложения. Для Android приложения разрабатываются на платформе Java. Технологии Micro Edition (Java ME) или Java 2 Micro Edition (J2ME) используются для устройств с ограниченными ресурсами, таких как планшеты, КПК и смартфоны. Выбор разработчиков Java ME популярен, он функционален и может быть использован при программировании простых устройств и разработке корпоративных приложений. Однако широкие возможности мобильных платформ предъявляют к разработчику повышенные требования к знанию языка. [7, с.90]

SDK для iOS (iPhone и iPad) используют объектно-ориентированный язык программирования Objective-C, который является надстройкой для C, что значительно упрощает разработку приложений и не требует дополнительных затрат на программирование для программистов. Objective-C обычно используется на мобильных устройствах Apple. Скомпилированный объектно-ориентированный язык программирования Objective-C поддерживает синтаксис, который позволяет более компактно решить ту же проблему, чем более подробный Java ME. Считается, что процесс разработки под

Android, при прочих равных условиях, занимает на 25% больше времени, чем при работе на iOS.

При разработке приложений для iOS необходимо использовать компьютер под управлением Mac OS X, а для тестирования созданных приложений на реальных устройствах необходимо участвовать в программе Apple для разработчиков, ежегодная стоимость которой составляет 99 долларов, что приводит к увеличению в стоимости работ. В то же время инструменты разработки для Android доступны на всех популярных ОС (Windows, Linux, Mac), а тестирование приложений возможно на любом поддерживаемом устройстве без каких-либо ограничений.

Основные преимущества нативной разработки, основанные на свойствах и параметрах конкретной платформы, включают следующее:

• родные приложения всегда точно соответствуют всем возможностям мобильной операционной системы;

• скомпилированный код проекта оптимален для собственной платформы, между кодом приложения и исполняемым файлом нет никаких дополнительных слоев;

• приложение получает полную аппаратную поддержку устройства и использует многопоточность для сложных задач с высокой производительностью;

• интерфейс, высокий уровень удобства использования. Собственные приложения реализуют архитектурные и дизайнерские решения в привычном расположении элементов управления. [11, с. 89]

К недостаткам нативной разработки относятся следующие:

• нативные приложения предназначены для параметров и свойств конкретной платформы (мобильная ОС, связанная с ней экосистема и технические характеристики самого мобильного устройства);

• требует поддержки и обновления для каждой платформы (iOS, Android и т. Д.);

• требуется высокая компетентность специалистов в области Java или Objective-C, поскольку специфика разработки требует высокого порога при изучении технологий. Разработка кроссплатформенных приложений как веб-сервис

или мобильный сайт - самый распространенный тип мобильного приложения. Любой смартфон способен открыть сайт, поэтому проблем с совместимостью нет.

Мобильные веб-приложения создаются на языке разметки и стилей (HTML, CSS и Java Script). HTML (Hyper Text Markup Language), состоящий из тегов, используется для разметки элементов интерфейса, CSS (Cascading Style Sheets) - для правильного размещения и размещения элементов на странице в соответствии с дизайном. Язык программирования Java Script реализует логику приложения.

Эти передовые технологии успешно используются для разработки приложений, которые можно адаптировать к различным устройствам. Среди инструментов, так называемых фреймворков, ускоряющих процесс разработки, создатели веб-приложений используют фреймворк Phone Gap, особенность которого заключается в том, что оно позволяет приложению открывать доступ к аппаратным и программным возможностям платформы. Кроссплатформенная разработка также возможна на таких технологиях, как Xamarin, Unity и т. Д., Но они не так популярны для разработки приложений, как веб-технологии.

Преимущества кроссплатформенных приложений:

• независимость от платформы - кроссплатформенные решения реализованы на разных платформах (iOS, Android, Windows);

• время создания - сокращение времени разработки из-за отсутствия уникальных элементов интерфейса и единой технологической платформы;

• поддержка и обновление продукта - добавление функциональности или исправление ошибок для всех платформ одновременно;

• Отладка веб-приложения выполняется на компьютере разработчика в браузере с использованием аппаратных ресурсов устройства.[9, с. 123]

К недостаткам кроссплатформенных приложений можно отнести:

• Медленная работа приложения из-за дополнительного слоя в виде веб-браузера (в этом отношении производительность ниже, чем у нативных дизайнов);

• отладка на устройствах ограничена использованием всплывающих сообщений (так называемая отладка пещерного человека - примитивная отладка);

• веб-приложения имеют доступ к ограниченному набору сервисов (постоянное хранилище (локальное хранилище), гео-координаты). Гибридные приложения - это технологии, которые позволяют разрабатывать логику и интерфейс в HTML и Java Script, одновременно имея доступ к ресурсам устройства. SDK для мобильных платформ предоставляют специальный компонент браузера для реализации в собственном приложении - Web View на Android, UI Web View на iOS с возможностью передачи вызовов из собственного кода в веб-приложение (код Java Script), а также получения сообщений из Java Script обратно в собственную часть приложения. Таким образом, мы получаем веб-приложение, которое работает в «обертке» и обслуживается не как веб-страница, а как отдельное приложение, которое требует установки и имеет отдельный значок. В результате гибридные приложения представляют собой эффективное комбинированное решение, использующее кросс-платформенные преимущества HTML для дизайна контента, в котором быстрые и отзывчивые меню и элементы управления являются родными. В гибридных приложениях только объем собственного кода определяет, какой тип приложения соответствует разработке приложения.

Инструментом для создания гибридных мобильных приложений является программная платформа Phone Gap. Эта бесплатная платформа с открытым исходным кодом для создания мобильных приложений позволяет разрабатывать приложения для мобильных устройств с использованием JavaScript, HTML5 и CSS3 без необходимости знать «родные» языки программирования для всех мобильных ОС. Чтобы сделать веб-службу мобильным приложением, создается мобильный интерфейс, который будет частью встроенного приложения с использованием инфраструктуры Dojo, пакетов, специально адаптированных для мобильных устройств.[16, с. 145]

Недостатки гибридных приложений:

• относительно высокие требования к ресурсам устройства, приложение может «тормозить» из-за нехватки памяти;

• ограниченное представление визуальных и графических элементов, анимации;

• Требуется подключение к Интернету, поскольку при отсутствии подключения к Интернету веб-функции не работают.

Таким образом, существует достаточное количество программных средств для разработки приложения. На первом этапе важно понять, что именно представляет собой приложение, и определить его основные функциональные возможности. Сервис должен предоставлять хостинг для приложения, а также доступность управления приложениями и возможность публикации в популярных магазинах приложений. Функциональность и задачи приложения определяются с позиции клиента: что он хотел бы видеть, какие функции. Однако не стоит забывать об интересах заказчика и разработчика мобильного приложения. Поскольку сегодня существует широкий спектр операционных систем для мобильных устройств, основной целью разработчиков является достижение максимальной совместимости с наиболее популярными типами платформ. В этом случае необходимо использовать как можно больше ресурсов устройства, включая геолокацию, сенсорный ввод, мультимедийные возможности и т. д. В то же время приложения становятся эффективным маркетинговым инструментом.

Важно отметить, что со временем, учитывая темпы развития технологий, возникает проблема устаревания приложений. В связи с этим возникает необходимость выпуска обновлений. Лучший вариант - когда обновления устанавливаются автоматически, т.е. без вмешательства пользователя. Это помогает своевременно предоставлять информацию и информировать потребителей. [13, с. 167]

Таким образом, можно сделать вывод о том, что разработка мобильных приложений - довольно перспективное направление. В среднем цена на разработку одного корпоративного приложения достигает 150–200 тысяч рублей, однако стоимость зависит от функциональности и совместимости с популярными платформами.

Глава 2. Анализ инструментов разработки мобильных приложений

2.1 Инструменты разработки мобильных приложений: обзор платформ

1 Xamarin

Начнем с тяжеловесов. Этот конструктор не для начинающих, поскольку требует минимального знания C#. Из плюсов — подходит для приложений как Android или iOS, а также содержит полезные внутренние метрики для отслеживания поведения пользователей.

2 jQuery Mobile

Если вам нужно интерактивное, кросс-платформенное и адаптивное приложение, то jQuery — ваше решение. Огромное количество модулей позволят реализовать любую по сложности задумку, а разнообразные новинки от сообщества (преимущество открытого кода) и вовсе идеальное поле для творчества.

3 Android Studio

Комплексная кроссплатформенная среда для разработки приложений на Android. По функционалу разве что не летает. Помимо инструментов для самого аппа, вы можете рассчитывать на полный набор полезных штук от Google (Аналитика, интеграция с облачными хранилищами и т.д.).

4 Como

Неплохая, средняя по функциональным возможностям платформа для разработки мобильных приложений, которая подходит для решений среднего и малого бизнеса в сфере общепита, развлечений и др.

5 Appery.io [10, с. 167]

Для тех, кто нуждается в кросс-платформенном и гибком в настройке решении. Своим главным преимуществом компания называет скорость создания приложения и, с учетом приемлемого качества на выходе, так оно и есть. Очень хорошо подходит для проработки бэк-энда.

6 Bizness Apps

Есть разделение по специфике бизнеса, но только для маленьких и уже проработанных сегментов. Если вы “в списке”, то можете рассчитывать на шаблоны со всеми необходимыми инструментами для дальнейшей оптимизации. Подходит для Android и iOS.

7 Dojo Mobile

Для тех, кто в курсе HTML, JavaScript и CSS. Порадуйтесь количество виджетов, готовых тем и оцените кросс-платформенность.

8 GameSalad

Поговорим и об игровых аппах, поскольку инструменты разработки мобильных приложений и здесь не отстают в своих функциональных возможностях.

9 AppMachine

Достаточно известный и проверенный временем конструктор, который предлагает нативное, кросс-платформенное приложение с хорошей внутренней аналитикой. Можно добавить пуш-уведомления, продвигаться и тестировать — словом, заменить полноценную команду девелоперов (конечно, нет).

10 AppMakr

Качественный конструктор, который может похвастаться реализацией любой задумки на достойном уровне. Кросс-платформенность, адаптивность, быстрая обработка контента, множество модулей и самое главное — очень развитое сообщество адептов.

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

Для анализа мы выбрали инструменты для разработки собственных приложений, поскольку в этой среде они более популярны и востребованы. Мы рассмотрели три наиболее популярных инструмента разработки: студия Android, Eclipse, IDE NetBeans. Для анализа данных программных продуктов были выбраны следующие критерии:

• функциональность;

• удобный интерфейс;

• возможность подключения дополнительных модулей;

• требовательная система;

• возможность подключения к системам контроля версий;

• наличие встроенных компонентов тестирования приложений.[12, с. 90]

Android Studio - это продукт Google. Основано на программном обеспечении IntelliJ IDEA от JetBrains, официальном инструменте разработки приложений для Android. Текущая версия приложения 2.2. Эта среда разработки доступна для Windows, OS X и Linux. Функциональность этого приложения использует язык Java для написания программного кода. Разработка интерфейса осуществляется методом drag-n-drop, но есть также возможность использовать XML. Для удобства разработки интерфейса существуют также шаблоны, ориентированные на задачу, которую должно выполнить приложение. Интерфейс этого программного обеспечения перегружен. Интерфейс библиотек приложения выглядит как раскрывающееся дерево, и вы должны выделить много места для общего интерфейса, в противном случае информация становится нечитаемой. Та же ситуация с окном отладки. В функционале Android Studio возможность подключения дополнительных плагинов отсутствует. Этот инструмент разработки очень требователен к технической составляющей компьютера по сравнению с другими инструментами разработки. Минимальный объем оперативной памяти, необходимый для этого продукта, составляет 2 гигабайта. Но для комфортной работы с этой программой рекомендуемый объем памяти составляет 8 гигабайт, что не является проблемой для современных компьютеров, но на ПК старше 2014 года эта среда функционирует очень медленно, не говоря уже о параллельном запуске других, даже не очень требовательные приложения. Полностью отсутствует возможность прямого подключения к службам контроля версий, что значительно усложняет работу группы людей над одним приложением. Имеет встроенный модуль для эмуляции устройства Android. Этот эмулятор требует отдельных ресурсов, что еще больше увеличивает спрос на компьютерное программное обеспечение.

Eclipse - это среда разработки, созданная Eclipsefoundation. Текущая версия Eclipse 4.6 (Neon). Язык, используемый для написания мобильных приложений, - Java. Он включает в свой функционал не только инструменты для разработки мобильных приложений, но и веб-приложения, поддерживает C ++ и PHP. Здесь нет шаблонов или готовых объектов для разработки интерфейса. Можно синхронизировать разные ПК для разработки одного проекта через облачные сервисы. Простой и удобный интерфейс. Панель библиотеки имеет древовидную структуру, но проблема предыдущего продукта здесь просто решается - можно полностью минимизировать неиспользуемые в настоящее время окна. Есть встроенный помощник для написания простого приложения Hello world. Есть возможность подключения дополнительных плагинов для расширения функциональности. Для этого в продукте предусмотрен целый модуль Eclipse Marketplace, предоставляющий на выбор всего три плагина «Market»: Eclipse Marketplace, Obeo Marketplace и RedHat. Также есть возможность написания собственных плагинов и их использования без получения лицензии или обязательного предоставления разработки на рынке. Системные требования для этого программного обеспечения не описаны разработчиком, но при использовании ПК со средней производительностью в 2012 году никаких сложностей не возникало. Из-за наличия синхронизации с облаком в системе полностью отсутствуют какие-либо интегрированные инструменты для подключения к системам контроля версий. Эмуляция устройства полностью отсутствует.

IDE NetBeans является продуктом сообщества NetBeans. Текущая версия приложения 8.2. В этом программном продукте функциональность полностью реализована с помощью плагинов. В результате программное обеспечение поддерживает большое количество языков. Java используется для разработки собственных мобильных приложений, но есть возможность создания веб-приложения, написанного на HTML5 или JS + PHP. Встроенный отладчик полностью отсутствует, но есть возможность подключить удаленный отладчик через Интернет. Интерфейс очень похож на интерфейс Eclipse, за исключением отсутствия окна отладки и наличия разметки номера строки. Требования к компьютеру либеральны. Для минимальной работы продукта требуется 512 мегабайт оперативной памяти; для более комфортной работы рекомендуется использовать компьютер с 2 гигабайтами. Имеет встроенную возможность подключения к системам контроля версий. Взаимодействует с GitHub, Mercurial и Subversion. Нет встроенных компонентов для тестирования приложения. Таким образом, анализ инструментов разработки мобильных приложений может быть сведен в таблицу, оценивая рассмотренные критерии по пятибалльной шкале (Таблица 1.).

Таблица 1

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

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

Критерии оценки

AndroidStudio

Eclipse

NetBeansIDE

Функциональность

5

4

3

Удобство интерфейса

2

5

5

Возможность подключения дополнительных модулей

1

5

4

Требовательность к системе

1

5

4

Возможность подключения к системам контроля версий

1

1

5

Наличие встроенных компонентов тестирования приложения

3

1

1

Следуя описанным выше выводам, каждый из этих программных продуктов подходит для разных направлений и предпочтений при разработке мобильных приложений. Если вам нужен мощный инструмент, который не требует времени для поиска или разработки дополнительных модулей, то вам следует выбрать Android studio. Если требуется более гибкая и мобильная разработка, рекомендуется выбрать IDE NetBeans. Если разработчик заинтересован в скрещивании первых двух, разработка в Eclipse - отличный выбор.

2.3 Анализ среды разработки мобильных приложений Android Studio

В настоящее время трудно представить жизнь современного человека без мобильного телефона. Помимо своей основной функции телефоны играют значимую роль в каждодневной работе: при их помощи читают файлы, проверяют электронную почту, распечатывают различные документы с помощью сетевого принтера. В связи с этим на рынке появился самостоятельный сегмент – мобильные приложения. Особенность этого сегмента состоит в том, что создание приложений должно проводиться с учетом специфики мобильных устройств, а именно: различиями интерфейса, параметрами экрана, сенсорным управлением.

На сегодняшний день операционная система Android является наиболее распространенной в сфере мобильных устройств. Свою популярность Android получил во многом благодаря открытому исходному коду и политике Google, разрешающую производителям мобильных устройств безвозмездно использовать платформу Android для своей продукции. Android используется большинством крупных компании-производителей мобильных устройств, таких как Samsung, HTC, Sony, Huawei.

Android Studio – это интегрированная среда разработки (IDE) для работы с платформой Android, выпущенная компанией Google..

Первая версия Android появилась 23 сентября 2008 года и получила название «Apple Pie».

Изначально Google рассчитывала давать версиям Android имена известных роботов, но отказалась от этой идеи из-за проблем с авторскими правами. Каждая версия системы, начиная с версии 1.5, получает собственное кодовое имя на тему сладостей. Кодовые имена присваиваются в алфавитном порядке латинского алфавита.

Платформа Android состоит из операционной системы, основанной на ядре операционной системы Linux, встроенных мобильных приложений и переходного программного обеспечения. Во главе создания и совершенствования Android платформы стоит компания Google.

Android позволяет фоновое выполнение какого-либо действия, поддерживает двумерную и трехмерную графику, доступ к файловой системе и базе данных, обеспечивает обширную библиотеку элементов пользовательского интерфейса.

Архитектура системы Android состоит из следующих уровней:

1) Ядро операционной системы Linux.

2) Библиотеки и система выполнения.

3) Уровень каркаса приложений наделяет разработчика доступом к интерфейсу прикладного программирования API (application programming interface).

4) Уровень приложений – комплекс стандартных приложений.

На рисунке 1 представлена архитектура системы Android.

https://sibac.info/files/2017_02_28_studtech/Aikoghaev.files/image001.png

Рисунок 1. Изображение архитектуры системы Android

Разработчик, как правило, работает с уровнями приложений и каркаса приложений. Библиотеки, система выполнения и ядро операционной системы Linux от разработчика скрыты.

Одним из важнейших инструментов для разработки Android-приложений является универсальное средство разработки мобильных приложений для операционной системы Android (Android SDK) – комплекс средств программирования, содержащий инструменты, которые необходимы для создания, компиляции и сборки мобильного приложения.

В настоящее время создание программного обеспечения во многих случаях осуществляется с применением среды интегрированной разработки (IDE). В IDE автоматизирован процесс компиляции, сборки и запуска приложения, что облегчает работу программисту и позволяет начинающему разработчику без особых усилий впервые создать свое собственное приложение.

Существует две преимущественно популярные среды разработки, рекомендованные Google: Android IDE (ADT) и Android Studio.

Android IDE – среда разработки мобильных приложений под операционную систему Android, основанная на интегрированной среде разработки приложений Eclipse. Содержит встроенные инструменты для создания, компиляции, сборки и отладки мобильных приложений.

Android Studio – среда разработки мобильных приложений под операционную систему Android, основанная на интегрированной среде разработки программного обеспечения IntelliJ IDEA. Аналогично среде Android IDE, Android Studio содержит встроенные инструменты для создания и отладки мобильных приложений. Дополнительно ко всем возможностям в Android Studio реализованы:

- поддержка системы автоматической сборки Gradle;

- уникальная система рефакторинга кода;

- инструменты для поиска и устранения различных проблем;

- окно предварительного просмотра, которое показывает запущенное приложение сразу на нескольких устройствах и в реальном времени;

- поддержка облачной платформы Google Cloud Platform.

В данный момент компания Google прекращает поддержку инструментов для разработки в операционной системе Android для среды Android IDE.

В ходе изучения на практике среды разработки мобильных приложений Android Studio и написания небольших программ (приложение «Заметки» для создания пометок, приложение для определения долготы и широты объекта, приложение, определяющее местоположение с помощью Google Maps, приложение «Фонарик») были определены следующие недостатки Android Studio:

1) Необходимо иметь базовый уровень программирования на языке Java и знания английского языка.

2) Вследствие постоянного сопровождения разработчика системой автоматической сборки (Gradle) значительно замедляется время компиляции проектов.

3) Высокие системные требования для компьютера разработчика.

4) Стандартные эмуляторы требовательны по отношению к системным ресурсам, долго включаются и не обладают всеми возможностями реальных смартфонов.

5) Отсутствие русскоязычной справки.

Достоинства Android Studio:

1) Удобный дизайн.

2) Удобный конструктор интерфейсов, позволяющий просматривать отображение экрана на любом устройстве, вплоть до телевизоров и часов. Элементы интерфейса отображаются прямо так, как они будут выглядеть на определенной версии операционной системы.

3) Встроенный комплекс средств разработки SDK (software development kit), выдает уведомление с установкой необходимого API для запуска старого проекта.

4) Удобная структура проекта.

5) Наличие логов для отслеживания ошибок, процессов и потоков.

6) Наличие достаточно большого количества литературы на русском языке.

Можно сделать вывод о том, что начинающим разработчикам, которые только начали изучать программирование, будет достаточно сложно работать в данной системе, так как она подразумевает наличие некоторых навыков и опыта в программировании и разработке приложений. Тем не менее, среда программирования Android Studio быстро развивается и программисты, работающие с данной системой, пользуются большим спросом.

3 Глава. Сравнительный анализ инструментов разработки web-приложений

Благодаря повсеместному развитию Интернета, предприятиям и организациям предоставляется удобная возможность информировать потенциальных клиентов о своих товарах и услугах высокоскоростным и экономичным способом, организовав собственный web-сайт. Но так как возможности Интернет-технологии постоянно растут, то в настоящий момент необходимо строить гибкий, управляемый данными и мгновенно реагирующий на изменяющиеся нужды посетителей web-сайт. Рынок программ для создания web-приложений постоянно растет, и часто при создании сайта разработчик приходит в затруднение, выбирая из этого набора необходимое ему средство. Первые средства разработки динамических сайтов, такие как Microsoft Active Server Pages (ASP), PHP (Perl Hypertext Preprocessor, первоначально именовавшийся Personal Home Pages) и Perl, удовлетворяли всем необходимым по тем временам требованиям. Но со временем разработчики web-приложений стали обнаруживать, что многие элементы их web-проекта невозможно реализовать существующими средствами без расширения их функциональных возможностей другими языками программирования путем подключения пользовательских библиотек на C++ , VisualBasic и т.д. В результате этого разработчику приходится изучать как минимум два-три языка программирования для реализаций своих идей. Чтобы этого избежать, многие разработчики создают собственные средства разработки web-приложений, специализированные для конкретного web-проекта. В результате этого появились средства разработки web-приложений нового поколения, такие как Cold Fusion фирмы Allaire Corporation, Jagg фирмы BulletProof, LiveWire фирмы Netscape и прочие. Они являются более гибкими и обладают широкими возможностями в построении web-сайтов. Большинство из этих средств работают согласно схеме “маленькая CGI-программа, большой процесс-партнер”. Такой механизм уменьшает накладные расходы, связанные с загрузкой CGI-программы, и позволяет обеспечить высокий уровень переносимости между различными web-серверами.

1. Macromedia Dreamweaver

Компания Macromedia продолжает делать Dreamweaver интуитивно понятной и простой в использовании программой. Мощные средства с одной стороны и простота в использовании - с другой, делают продукты Macromedia идеальными программным пакетом, как для профессиональных web-дизайнеров, так и для новичков. Продукты, входящие в пакет Macromedia, такие как: Flash, Firework, Dreamweaver - сделают работу более продуктивной, и при этом могут заменять друг друга (так, например, в любой из них можно создать кнопки). Такие продукты как: Sitespring, FreeHand - добавит эффективности при работе с клиентом.

У Dreamweaver множество плюсов:

Программа Dreamweaver поддерживает "чистый" HTML код, а также последние расширения DHTML и CSS.

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

Позволяет отменить изменения, сделанные несколько шагов назад (однако после сохранения страницы отменить изменения будет невозможно).

Применяется "Динамическая проверка для различных браузеров".

Поддерживает расширения, как сторонних разработчиков, так и самой Macromedia (более 500).

С Dreamweaver поставляется библиотека элементов, которые можно применять на WEB-страницах, например панель навигации, дескриптор авторского права и др.

Применяется для добавления мультимедийных средств на web-страницы и различных типов файлов от Flash и Java до RealAudio, интерактивных элементов, таких как поисковые системы, форумы, системы электронной коммерции.

Программа Dreamweaver не имеет собственных средств создания изображений. В ней представлены лишь простейшие инструменты редактирования, поэтому для создания и редактирования изображений нам понадобятся специальные графические редакторы.

Dreamweaver позволяет убрать лишний код из приложений Microsoft, после чего страницы станут быстрее грузиться и лучше отображаться в разных браузерах.

2. Macromedia Fireworks

Fireworks это редактор графики с возможностью её дальнейшей оптимизации и размещения в сети. Используя большое разнообразие инструментальных средств, мы можем создавать и редактировать как векторную, так и растровую графику в пределах одного файла вместо того, чтобы переходить из одной программы в другую. Fireworks генерирует HTML - код и JavaScript и может легко создавать динамические меню и навигационные панели для наших интернет страниц. Эффективная оптимизация графических файлов позволяет максимально уменьшить их размер без потери качества.

Кроме этого имеется возможность редактировать макеты WEB-страниц. Например, в Fireworks 8 можно открыть графический файл на всю ширину будущего сайта, нарисовать необходимое графическое оформление, а затем разрезать его инструментом Slice Tool так, как должна выглядеть будущая таблица HTML-документа. После этого можно начинать доработку отдельных графических элементов и, в том числе, создавать активную графику, реагирующую на курсор, совсем не зная языка программирования (JavaScript).

3. Macromedia FreeHand

Один из трех профессиональных графических редакторов, ведущих с переменным успехом борьбу за первенство в работе с векторной графикой. FreeHand гораздо быстрее и проще своих конкурентов - CorelDraw и Adobe Illustrator. FreeHand прекрасно подходит для создания логотипов, рекламы, Web-графики и анимации.

Изготовители программы приложили немало усилий, чтобы максимально облегчить жизнь пользователям: интерфейс программы прост и нагляден, имеется множество "примочек", позволяющих быстро и легко выполнять сложные преобразования объектов или достичь самых разных художественных эффектов. FreeHand умеет экспортировать и импортировать файлы практически во всех широко распространенных форматах. Более того, в его состав входят настройки "горячих клавиш", эмулирующие другие распространенные программы (Adobe Illustrator, CorelDraw). Так что не надо переучиваться, переходя на FreeHand.

Интересной и важной особенностью FreeHand при работе над большими проектами является возможность глобальных изменений документа, как для текста, так и всех графических объектов. Механизм глобальной замены очень гибок. Кроме замены, он позволяет выделить объекты с заданными свойствами для последующего преобразования. Основными свойствами, по которым ведется поиск и замена или выделение объектов, являются цвет, толщина контура, шрифт, угол поворота.

Документы FreeHand легко превращаются в web-страницы. Конечно, FreeHand - не HTML-редактор, но поддерживает базовые элементы HTML. С помощью FreeHand WEB-страницы легко снабдить Flash-анимацией. В анимационный клип вставляются текстовые блоки, группы объектов, а также объекты с контурами. Небольшой клип из объектов FreeHand создается буквально одной командой - остается лишь проследить за некоторыми настройками. Каждый кадр клипа помещается на отдельный слой; анимационный эффект достигается последовательным воспроизведением содержимого отдельных слоев. Но средства FreeHand не заменят редактор Macromedia Flash.

4. Macromedia FLASH

Создаёт привлекательные интерактивные мультимедийные презентации, для WEB-сайтов. Для Flash характерна векторная графика и анимация, хотя эта программа может быть также использована для манипулирования или отображения растровой графики, монтажа видеоматериала и даже для манипулирования звуковыми файлами.

Flаsh-содержимое публикуется в компактных файлах формата SWF для последующего показа на самых разных платформах с помощью Flаsh-проигрывателя. Во время воспроизведения файла формата SWF в оперативном режиме в него можно динамически загружать такое содержимое, как звуковые файлы формата МР3, Flash-видео и изображения формата JPEG. Flash-проигрыватель позволяет подключаться к источникам данных, чтобы объединить их с базой данных, XML или web-службами. Благодаря всем этим возможностям привлекательные фрагменты анимации и эффекты могут быть введены в приложения, управляемые данными. Flash имеет поддержку антиалайсинг (сглаживание контуров с помощью смешения соседних цветов). Так как этот формат файла основан на векторной графике, объект сохраняет качество изображения при любом разрешении и идеален для создания кадров анимации.

Мощный событийно-управляемый язык. Применяемый язык ActionScript - это почти полноценный язык программирования, с поддержкой условий, циклов, массивов, функций и классов, которые можно наследовать.

В пользу Flash маленький размер получающихся файлов и использование векторного формата изображений, и сжатие растровых и звуковых файлов, что очень положительно влияет на уменьшение размера страницы и время ее скачивания.

5. Macromedia HomeSite

Эта программа очень дружественно относится к пользователю. В ней множество готовых тегов, шаблонов.

Гибкость интерфейса - это одна из сильнейших сторон продукта. Любой пользователь с легкостью сможет настроить интерфейс HomeSite в соответствии со своими предпочтениями и потребностями.

В процессе работы пользователь может видеть рабочую область с двумя вкладками - Browse и Edit. То есть программирование происходит во вкладке Edit, а результат можно увидеть, если выбрать вкладку Browse. При создании новой страницы на поле редактирования автоматически появляются некоторые теги вроде HTML и BODY. Это шаблон, загружаемый при создании новой страницы. Его содержание можно менять.

В HomeSite очень легко строить архитектуру сайта. Этому способствует панель Quick Bar с системой вкладок с готовыми тегами. Теги в этих вкладках самые разные - от простых вроде параграфа до java-скриптов. Можно вообще оставить одну вкладку, добавив в нее все необходимые теги через меню Customize. Также можно самому создавать теги или их комбинации. При нажатии на кнопку с определенным тегом появляется окно, где можно настроить опции тега и указать его атрибуты. Поддерживает режим WYSIWYG со всеми его плюсами и минусами.

Для скорости работы здесь имеется множество средств редактирования тегов. Это, например, такие функции, как Tag Completion, Tag Editors и Tag Insight. Они существенно облегчают редактирование тегов и их атрибутов. Так же есть заготовки кода (Code Snippets).

HomeSite легко интегрируется со средствами управления исходным кодом и системами управления проектами, а также предлагает широкие возможности работы с протоколом FTP, благодаря чему мы сможем быстро выполнить развертывание сайта и организовать его эффективное обслуживание.

6. Microsoft FrontPage

Является наиболее популярным HTML-редактором на рынке, главным образом за счёт популярности пакета Microsoft Office. В программе предлагаются мощные функции и привлекательный пакет программ, включая Image Composer, который предназначен для создания изображений (Приложение В). Во FrontPage также содержатся WEB-компоненты, необходимые для добавления интерактивных свойств web-узлу. Microsoft FrontPage является классическим WYSIWYG-редактором, в котором, однако, присутствует возможность ручной правки кода.

В программе имеется три режима работы с документом: Normal, HTML и Preview.

В режиме Normal, web-страницы представляют собой обычный текстовый файл с возможностью редактирования всех элементов - от текста до картинок.

В режиме HTML осуществляется подсветка синтаксиса, однако довольно посредственную - дескрипторы выделены, синим цветом, все остальное - черного цвета.

В режиме Preview можно посмотреть, как будет выглядеть ваша страница в окне браузера.

FrontPage имеет конструктор таблиц, существенно облегчающий их создание. Одним из основных преимуществ программы является большое количество имеющихся шаблонов, позволяющих пользователю не ломать голову над дизайном своего проекта. Выбрав необходимый шаблон, можем приступать непосредственно к наполнению страницы контентом. Вот тут то и ощущается вся прелесть FrontPage: процесс создания HTML-страницы ничем не отличается от создания обычного текстового документа в Microsoft Word. Нам доступны те же средства для редактирования текста, смены его форматирования, создания и редактирования таблиц, вставки различных объектов и изображений и всё это без знания HTML. FrontPage делит рабочую область на несколько блоков, содержащих определенные элементы страницы - рисунки, текст, заголовки и проч. Для каждого блока можно назначить свои параметры форматирования и расположения его относительно страницы.

Минусы: небольшой набор инструментов разработки, невозможность отдельного приобретения программы. Microsoft FrontPage неплохо подойдет в качестве HTML-редактора на первое время, однако с ростом потребностей его возможностей может не хватить. Есть и обратная сторона медали - сложность и громоздкость полученного кода, что естественно, сказывается на конечном размере документа. Также в дальнейшем будет весьма сложно вносить изменения в подобный документ. Но это скорее недостаток не конкретного продукта, а практически всех WYSIWYG-редакторов (What You See Is What You Get - "что видите, то и получите").

Web-компоненты работают только в том случае, если на web-сервере, который используется, присутствуют соответствующие им программы.

язык программирование приложение

7. Microsoft Word

Не смотря на то, что Microsoft Word является текстовым редактором и по существу не считается HTML-редактором. Он имеет возможность сохранять файлы в формате HTML. В результате мы можем столкнуться со страницами которые тем или иным способом были созданы в Microsoft Word. Проблемы в HTML-коде, полученном из редактора аналогичны проблемам FrontPage: обе эти программы создают избыточный код, который не во всём соответствует HTML-стандарта. Огромное количество людей, использующих Word в своей повседневной работе, становятся потенциальными разработчиками HTML-документов.

Создать web-станицу в Word можно двумя способами: с помощью Мастера либо преобразовав существующий документ Word в формат HTML. При этом Word сам генерирует тэги HTML, хотя и не оптимальным образом. Преобразование естественно приводит к тому, что какие-то элементы оформления документа будут утрачены или изменены. При необходимости вставить на HTML-страницу собственные тэги, в Word предусмотрено непосредственное редактирование HTML-кода.

8. Adobe Illustrator

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

Web-страницы могут содержать много элементов - текст HTML, растровые изображения, векторную графику. В Illustrator можно использовать фрагменты для определения границ различных web-элементов в объекте. Web-страница делится на ячейки которые представляются в трёх типах: изображения, без изображения, HTML-текст.

При этом можно сохранить каждый фрагмент как независимый файл со своим форматом, настройками и цветовой палитрой. Блокировка фрагментов предотвращает случайные изменения позиция. Размер фрагмента привязываются содержащемуся в нем объекту. Поэтому при перемещении или изменении размера объекта границы фрагмента корректируются автоматически, но при необходимости их всегда можно откорректировать вручную.

Карты ссылок позволяют связать одну или несколько областей изображения (так называемых активных областей) с URL-адресом. Когда щелкаем по активной области, web-браузер загружает связанный с ней файл.

Основная разница между использованием карт ссылок и фрагментов для создания связей состоит в том, как объект экспортируется на web-страницу. Использование карт ссылок сохраняет объект в виде единого файла изображения, а в случае использования фрагментов объект делится на несколько отдельных файлов. Еще одна разница между картами ссылок и фрагментами состоит в том, что карты позволяют связывать многоугольные или прямоугольные области в объекте, а фрагменты - только прямоугольные

9. Adobe Photoshop

Самая популярная и широко распространенная программа редактирования изображений. С её помощью можно создавать высокохудожественные изображения. Она содержит всё необходимое для создания и редактирования профессиональной графики.

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

При всей простоте основных инструментов Photoshop пользователь может к тому же настраивать их "под себя". А это равносильно наличию бесконечного разнообразия мелков. Поскольку программы рисования полагаются при своей работе на пиксели, они идеально подходят для работы с электронными (цифровыми) фотографиями цветных карандашей, пульверизаторов, акварельных и масляных красок и многого другого. Photoshop предоставляет полный контроль над каждым пикселем изображения. Недостаток программ рисования в ограниченном разрешении. Поскольку битовый рисунок состоит из фиксированного количества пикселей.

10. CorelDraw

CorelDraw позволяет обрабатывать самую разнообразную информацию, представляемую в документе в виде векторных и растровых объектов, блоков обычного и художественного текста, а также объектов Интернета.

В программе применен современный интерфейс плоского типа, который характеризуется тем, что инструменты, находящиеся на различных панелях, отображаются в виде обычных плоских рисунков, а выделение одного из них происходит только при установке на нем указателя.

При построении векторных изображений линии и фигуры накладываются, пока не получится окончательное изображение. Каждый объект можно редактировать независимо от остальных -- одно из немногочисленных преимуществ объектного подхода, тем не менее, изображение все же приходится строить поэтапно. В программе редактирования векторных рисунков линии, фигуры и текст задаются математическими выражениями, что дает возможность автоматически настраивать их на максимальное разрешение устройства вывода. Еще одно преимущество векторных рисунков состоит в том, что для них не требуется много места на диске. Объем файла векторного рисунка зависит только от количества и сложности объектов, составляющих этот рисунок, поэтому его размер, в отличие от растрового рисунка, практически не влияет на этот объем.

CorelDraw демонстрирует качества мощного визуального редактора web-страниц: пользователь получает возможность генерировать развитые HTML-документы, которые могут включать сценарии JavaScript и таблицы стилей CSS.

Обеспечивая мощные возможности для работы с графикой, текстом и средства компоновки и экспорта документов для публикации в Интернете, CorelDraw вполне может служить исходным пунктом для генерирования первых версий файла HTML.

Заключение

Хотя мобильные технологии уже давно вошли в нашу жизнь, но нельзя сказать, что все их возможности уже используются. В прошлом, когда возможности телефонов были небольшими, программирование на мобильных платформах было довольно ограниченным. Небольшие экраны, слабое аппаратное обеспечение и другие ограничения не позволяли создавать сложные приложения. Но с развитием технологий разработка мобильных приложений кардинально изменилась.

Сложные 3D-игры, социальные сети, мессенджеры, контент-приложения и другие стали нормой, к которой они быстро привыкают. Учиться дома, работать удаленно от офиса, смотреть высококачественное видео, быстро и удобно просматривать Интернет, и многое другое стало возможным благодаря смартфонам нового поколения.

С 2016 года так называемые «чат-боты» развиваются быстрыми темпами. Эти программы являются виртуальными собеседниками, которые могут выполнять функции различных услуг, таких как бронирование авиабилетов, ответы на вопросы, бронирование отеля и многие другие повседневные вещи. Вполне возможно, что их следующие поколения полностью изменят свое понимание разработки мобильного программного обеспечения, вытеснив многие другие приложения, которые распространены сегодня. Как бы то ни было, развитие сегмента мобильной разработки в сфере IT-технологий не стоит на месте. Новые приложения появляются каждый день, и в этой отрасли программного обеспечения появляется гораздо больше возможностей.

Библиография

1. Гринберг, М. Разработка веб-приложений с использованием Flask на языке Python / М. Гринберг. - М.: ДМК, 2016. - 272 c.

2. Дари, К. AJAX и PHP. Разработка динамических веб-приложений / К. Дари, Б. Бринзаре и др. - М.: Символ, 2015. - 336 c.

3. Дэрси, Л. Разработка приложений для Android-устройств. Т. 1: Базовые принципы / Л. Дэрси, Ш. Кондер. - М.: Лори, 2015. - 402 c.

4. Здзиарски, Д. iPhone. Разработка приложений с открытым кодом / Д. Здзиарски. - СПб.: BHV, 2016. - 368 c.

5. Кирстен, В. Постреляционная СУБД Cache 5. Объектно-ориентированная разработка приложений / В. Кирстен, М. Ирингер. - М.: Бином, 2017. - 416 c.

6. Козловский, П. Разработка веб-приложений с использованием AngularJS / П. Козловский, П. Дарвин. - М.: ДМК, 2015. - 394 c.

7. Колисниченко, Д.Н. PHP и MySQL. Разработка Web-приложений / Д.Н. Колисниченко. - СПб.: БХВ-Петербург, 2016. - 560 c.

8. Колисниченко, Д.Н. PHP и MySQL. Разработка веб-приложений. Профессиональное программирование / Д.Н. Колисниченко. - СПб.: BHV, 2015. - 592 c.

9. Кречмер, Р. Разработка приложений SAP R/3 на языке ABAP/4 / Р. Кречмер, В. Вейс. - М.: Лори, 2017. - 461 c.

10. Машнин, Т.С. Google App Engine Java и Google Web Toolkit: разработка Web-приложений / Т.С. Машнин. - СПб.: BHV, 2014. - 352 c.

11. Миковски, М.С. Разработка одностраничных веб-приложений / М.С. Миковски, Д.К. Пауэлл. - М.: ДМК, 2015. - 512 c.

12. Нахавандипур, В. iOS. Разработка приложений для iPhone, iPad и iPod / В. Нахавандипур. - СПб.: Питер, 2016. - 864 c.

13. Прохоренок, Н.А. Python 3 и PyQt. Разработка приложений / Н.А. Прохоренок.. - СПб.: БХВ-Петербург, 2015. - 704 c.

14. Сергеенко, С.В. Разработка и проектирование Web-приложений Oracle Developer / С.В. Сергеенко. - М.: Интуит, 2014. - 456 c.

15. Соколова, Ю.С. Разработка приложений в среде Delphi. Ч. 1. Общие приемы программирования., стер / Ю.С. Соколова, С.Ю. Жулева. - М.: ГЛТ, 2017. - 144 c.

16. Финкэнон, Д. Flash-реклама. Разработка микросайтов, рекламных игр и фирменных приложений с помощью Adobe Flash / Д. Финкэнон. - М.: Рид Групп, 2012. - 288 c.

17. Хэррон, Д. Node.js Разработка серверных веб-приложений на JavaScript / Д. Хэррон. - М.: ДМК, 2015. - 144 c.

28. Чан, У. Django. Разработка веб-приложений на Python / У. Чан, П. Биссекс, Д. Форсье. - СПб.: Символ-плюс, 2016. - 456 c.

19. Чедвик, Д. ASP.NET 4: разработка реальных веб-приложений с помощью ASP.NET MVC / Д. Чедвик. - М.: Вильямс, 2015. - 432 c.

20. Экспозито, Д. Разработка веб-приложений с использованием ASP.NET и AJAX / Д. Экспозито. - СПб.: Питер, 2015. – 400с.

Приложение

Схема разработка приложений под IOS и Android:

4.Отладка и тестирование. Поиск проблем, багов, дальнейшая отладка и тестирование кейсов использования.

5. Релиз и продвижение. Выпуск продукта на рынок(в маркеты GooglePlay или AppStore), составление стратегии продвижения и работа по сформированному техническому заданию.

6. Сопровождение продукта. Техническая поддержка стабильного функционирования и выпуск обновлений.

Этапы разработки приложений

3.Программирование мобильного приложения. Разработка приложения по сформированному техническому заданию.

2.Разработка индивидуального дизайна. Создание макетов экранов приложения, утверждение дизайна и отрисовка интерфейсов.

1.Предпроектное исследование. Изучение особенностей бизнеса заказчика, выбор платформы IOS или Android, формирование технического задания.