Магистерская диссертация тема работы Разработка мобильного приложения детектирования и распознавания текстов на изображениях для платформы ios
Скачать 1.55 Mb.
|
Так как со средой разработки определились, необходимо выбрать язык разработки приложения. В Xcode можно выбрать два варианта: • Swift; • Objective-C; Рассмотрим эти варианты более подробно. • Swift; Создан в 2014 году, специалисты Apple представили его как замену привычному Objective-C. Среди преследуемых целей были заявлены повышенная читаемость кода и устойчивость к ошибкам разработчика. Плюсы: • Для написания приложения требуется меньше кода, хотя бы просто потому, что здесь реализован упрощенный принцип работы с повторяющимися строками и заявлениями; • Удобен для чтения. Стандартное достоинство любого современного языка; • Больше возможностей по сравнению с Objective-C, в частности возможность управлять памятью; • Полноценное взаимодействие с кодом, написанным на Objective- C; • Повышенная безопасность. Минусы: • Из-за молодости языка и не переведённых на Swift кодов OS X и iOS требуется хотя бы минимальное знание Objective-C; • Компилятор выдаёт излишние и сбивающие с толку ошибки, которые разработчику, пришедшему с других языков покажутся как минимум необычными. 2) Objective-C Создан в начале 80-х годов прошлого века, путём скрещивания С с популярным в то время Smalltalk. Плюсы: • Динамическая типизация. В некоторых случаях, это действительно может стать ключевым преимуществом. Например, упрощает создание несложных программ; • Документация и сообщества. Более 20 лет успешного применения языка поспособствовали появлению большого количества качественных ресурсов и книг. Сегодня любой, кто желает изучить Objective-C, без труда найдёт ответ на интересующий вопрос на просторах интернета; • В сравнении с С++, да и многими другими языками того времени, Objective-C предоставляет разработчику куда больше гибкости. • Относительная простота синтаксиса. Простота заключается в понимании алгоритмов и того, как работает исполняемая машина. Минусы: • Низкая читаемость кода, что затрудняет изучение языка; • Динамическая типизация предполагает возможность появления ошибок даже во время компиляции. • Ограниченная функциональность. • Не самая высокая производительность, вызванная динамической типизацией. Вывод: исходя из достоинств и недостатков данных языков видно, что Swift выигрывает по многим показателям, несмотря на то, что он является еще очень молодым языком. Писать на нем приложения намного быстрее и удобнее. Архитектурные паттерны проектирования для платформы iOS Шаблон проектирования или паттерн (англ. design pattern) в разработке программного обеспечения — повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. [20] На данный момент существуют следующие шаблоны разработки программных продуктов: 1) MVC 2) MVP 3) MVVM 4) VIPER Рассмотрим каждый из них более подробно. 1) MVC MVC – это фундаментальный паттерн, который нашел применение во многих технологиях, дал развитие новым технологиям и каждый день облегчает жизнь разработчикам. • Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя свое состояние. • Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели. • Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений. Основная цель применения этой концепции состоит в отделении бизнес-логики (модели) от её визуализации (представления, вида). За счёт такого разделения повышается возможность повторного использования кода. Наиболее полезно применение данной концепции в тех случаях, когда пользователь должен видеть те же самые данные одновременно в различных контекстах и/или с различных точек зрения. Рисунок 7. – стандартный шаблон проектирования MVC. В традиционном MVC View не хранит состояния в себе. Controller просто воспроизводит View при изменениях Model. Например, веб-страница полностью перегружается после того, как вы нажмете на ссылку для перехода в другое место. Хотя можно реализовать традиционный MVC в среде iOS, это не имеет особого смысла из-за архитектурной проблемы: все три сущности тесно связаны, каждая сущность знает о двух других. Это сильно снижает возможность повторного использования каждого из элементов. По этой причине мы не будем даже пытаться написать пример канонического MVC. Традиционный MVC является неприемлемым к современной iOS разработке. Далее рассмотрим вариант MVC от Apple. Рисунок 8. – шаблон проектирования MVC от Apple. Controller является посредником между View и Model, следовательно, две последних не знают о существовании друг друга. Поэтому Controller трудно повторно использовать. В теории все выглядит очень просто, однако все не так верно. Многие часто слышали, что люди расшифровывают MVC как Massive View Controller. Кроме того, разгрузка ViewController стала важной темой для iOS- разработчиков. Как на самом деле выглядит применение шаблона проектирования MVC в iOS разработке. |