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

Онлайн–сервисы поиска вакансий. Пример использования современных технологий для разработки мобильного приложения, которое объединит популярные сервисы поиска вакансий. Участники взаимодействия описываемого use – case’а. Выбор архитектурного решения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 28.10.2019
Размер файла 3,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Визуальное представление модуля можно увидеть на рисунках ниже. Список полученных ранее вакансий визуализируется с помощью экземпляра класса UITableView. UITableViewпозволяет использовать в разрабатываемом приложении табличное представление [39], которое в общем случае состоит из столбца и вложенных в него ячеек, cвозможностью прокрутки в результате соответствующего взаимодействия пользователя. Каждая ячейка табличного представления визуализирует полученную при совершении поиска информацию о вакансии. Как видно на рисунках, ячейки отображают информацию о дате создания вакансии, указанной заработной плате, работодателе и краткой информации о предъявляемых требованиях. При достижении пользователем конечных ячеек таблицы, представление оповещает о данном событие презентер, который впоследствии обращается к интерактору для загрузки новых вакансий. При нажатии пользователем на желаемую вакансию приложение с помощью браузера открывает страницу вакансии на соответствующем сервисе.

Рисунок 11 и 12. Визуальное представление модуля результата поиска вакансий

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

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

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

Рисунок 13.Пропуск отображения кадра

PrearoA. BoostsmoothscrollingwithiOS 10 Pre - FetchingApi [Электронныйресурс] / Medium. - URL: https://medium.com/capital-one-tech/boost-smooth-scrolling-with-ios-10-pre-fetching-api-818c25cd9c5d

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

Для возможности загрузки и подготовки данных до необходимости их непосредственного отображения будет применяться PrefetchingAPI [42], предоставляемый языком программирования Swift. Данный интерфейс позволит определять моменты, при которых необходимо предварительно загрузить и подготовить данные, например, при быстрой прокрутке ячеек таблицы пользователем. Когда пришло время отобразить заранее подготовленные данные, система локально извлечет их из хранилища. Такой подход позволит добиться максимальной плавности в отображении результатов поиска вакансий.

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

ЗАКЛЮЧЕНИЕ

В результате выполнения данной работы были выполнены следующие задачи:

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

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

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

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

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

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

СПИСОК ЛИТЕРАТУРЫ

Мобильные приложения - мировой рынок [Электронныйресурс] / Tadviser - портал выбор технологий и поставщиков. - URL: http://www.tadviser.ru/index.php/Статья:Мобильные_приложения_(мировой_рынок). (Дата обращения: 17.02.2019)

Поиск работы через интернет в РФ быстрее, чем в мире [Электронныйресурс] / Вести - портал выбор технологий и поставщиков.-URL: https://www.vestifinance.ru/articles/65508. (Дата обращения: 17.02.2019)

В прошлом году впервые за время существования AppStore количество приложений в магазине снизилось [Электронныйресурс] / iXBT.-URL: https://www.ixbt.com/news/2018/04/05/v-proshlom-godu-vpervye-za-vremja-sushestvovanija-app-store-kolichestvo-prilozhenij-v-magazine-snizilos.html. (Дата обращения: 17.02.2019)

Интернет 2017 - 2018 в мире и в России: статистика и тренды [Электронныйресурс] / WebCanape.-URL: https://www.web-canape.ru/business/internet-2017-2018-v-mire-i-v-rossii-statistika-i-trendy/. (Дата обращения: 21.02.2019)

Тенденции и перспективы рынка мобильных приложений: поговорим о деньгах [Электронныйресурс] / habr-коллективный блог.-URL:https://habr.com/ru/company/alconost/blog/323020/. (Дата обращения: 23.02.2019

Топ - 10 лучший сайтов по поиску работы в России [Электронныйресурс] / 4Brain - интеллектуальный клуб.-URL:https://4brain.ru/blog/топ-10-лучших-сайтов-по-поиску-работы/. (Дата обращения: 26.02.2019)

Опрос выявил желание россиян вернуть систему распределения выпускников [Электронныйресурс] / РИА Новости.-URL: https://ria.ru/20190418/1552795745.html. (Дата обращения: 26.02.2019)

Take advantage of 3D Touch [Электронныйресурс] / Apple. - URL: https://developer.apple.com/ios/3d-touch/. (Дата обращения: 26.02.2019)

3DTouch [Электронный ресурс] / AppleInsider. - URL: https://appleinsider.ru/tag/3d-touch. (Дата обращения: 26.02.2019)

Роль дизайна в разработке мобильных приложений[Электронный ресурс] / Agilie. - URL:https://agilie.com/ru/blog/rol-dizaina-v-razrabotkie-mobilnykh-prilozhienii. (Дата обращения: 26.02.2019)

The Psychology of Color in Marketing and Branding [Электронныйресурс] / Entrepreneur Magazine. - URL: https://www.entrepreneur.com/article/233843. (Датаобращения: 07.03.2019)

Воздействие цвета на психику человека [Электронный ресурс] / Интернет - блог DesignSpace . - URL:https://carameldress.wordpress.com/2016/04/15/воздействие-цвета-на-психику-человек/. (Дата обращения: 07.03.2019)

Психология цвета для мобильных приложения[Электронный ресурс] Apptractor /. - URL:https://apptractor.ru/info/articles/psihologiya-tsveta-dlya-mobilnyih-prilozheniy.html (Дата обращения: 07.03.2019)

Мобильный UX дизайн: Основные принципы[Электронный ресурс] / Medium. - URL:https://medium.com/@grifer163/мобильный-ux-дизайн-основные-принципы-6f50ea47e55f. (Дата обращения: 07.03.2019)

6 правил мобильного дизайна [Электронный ресурс] / Level . - URL:https://levellab.ru/blog/mobile_design. (Дата обращения: 07.03.2019)

Jacobson I. Aspect - Oriented Software Development with Use Cases // Addison - Wesley Professional. - 2005. - 464 c.

UseCases. Что это такое и зачем нужны? [Электронный ресурс] / Школа системного анализа. - URL: https://systems.education/use-case/. (Дата обращения: 09.03.2019)

Основной поток событий или основной сценарий [Электронный ресурс] / Refdb. - URL:https://refdb.ru/look/1305480-p2.html. (Дата обращения: 09.03.2019)

Мартин Р. Чистая архитектура. Искусство разработки программного обеспечения // Питер. - 2019. - 352 c.

iOS Architectue Patterns [Электронныйресурс] / Medium. - URL: https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52. (Дата обращения: 11.04.2019)

MVC - Model View Controller [Электронныйресурс] / Medium. - URL: http://design-pattern.ru/patterns/mvc.html. (Датаобращения: 11.04.2019)

Model View Controller [Электронныйресурс] / Apple Developer Documentation. - URL: https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html. (Датаобращения: 11.04.2019)

Advanced Application Architectures [Электронныйресурс] / Vaadin. - URL: https://vaadin.com/docs/v8/framework/advanced/advanced-architecture.html. (Датаобращения: 13.04.2019)

How not to get desperate with MVVM implementation [Электронныйресурс] / Medium. - URL: https://medium.com/flawless-app-stories/how-to-use-a-model-view-viewmodel-architecture-for-ios-46963c67be1b. (Датаобращения: 13.04.2019)

Книга Viper [Электронный ресурс] / Rambler. - URL: https://github.com/strongself/The-Book-of-VIPER. (Дата обращения: 15.04.2019

Swift vs Objective - C: Out with the Old, In with the New [Электронныйресурс] / Alexsoft. - URL: https://www.altexsoft.com/blog/engineering/swift-vs-objective-c-out-with-the-old-in-with-the-new/. (Датаобращения: 29.04.2019)

Swift vs. Objective - C: The trending up-and-comer vs. the dinosaur [Электронныйресурс] / Alexsoft. - URL: https://medium.freecodecamp.org/https-medium-com-colin-gabriel-smith-swift-vs-objective-c-5b19add8e2ed. (Датаобращения: 29.04.2019)

ЕмельяновС., Титов В. С. Процедурно - модульное программирование на Delphi // АРГАМАК - МЕДИА. - 2014. - 353 с.

UIApplication [Электронныйресурс] / Apple Documentation. - URL: https://developer.apple.com/documentation/uikit/uiapplication. (Дата обращения: 29.04.2019)

UIApplicationDelegate [Электронныйресурс] / Apple Documentation. - URL: https://developer.apple.com/documentation/uikit/uiapplicationdelegate. (Датаобращения: 01.05.2019)

UIWindow [Электронныйресурс] / Apple Documentation. - URL: https://developer.apple.com/documentation/uikit/uiwindow. (Датаобращения: 01.05.2019)

UIViewController [Электронныйресурс] / Apple Documentation. - URL: https://developer.apple.com/documentation/uikit/uiviewcontroller. (Датаобращения: 01.05.2019)

ЖизненныйциклUIViewController[Электронныйресурс] / Swift Book. - URL: https://swiftbook.ru/post/koposhilka/viewcontroller-lifecycle/. (Дата обращения: 01.05.2019)

API[Электронный ресурс] / Ingate. - URL: https://promo.ingate.ru/seo-wikipedia/api/. (Дата обращения: 01.05.2019)

JSON Parsing in Swift [Электронныйресурс] / Medium. - URL: https://medium.com/@nimjea/json-parsing-in-swift-2498099b78f.(Дата обращения: 06.05.2019)

Extensible Markup Language (XML) [Электронныйресурс] / W3C. - URL: https://www.w3.org/XML/.(Дата обращения: 06.05.2019)

Kay M. XSKT 2.0 and XPath 2.0 Programmer's Reference // Wrox. - 2008. - 1368 с.

XQuery and XSLT Reference Guide [Электронныйресурс] / MarkLogic. - URL: https://docs.marklogic.com/guide/xquery/xpath. (Датаобращения: 06.05.2019)

UITableView [Электронныйресурс] / Apple Documentation. - URL: https://developer.apple.com/documentation/uikit/uitableview. (Датаобращения: 06.05.2019)

Многопоточность (concurrency) в Swift 3. GCD и Dispatch Queues [Электронныйресурс] / Habr. - URL: https://habr.com/ru/post/320152/.(Дата обращения: 10.05.2019)

Grand Central Dispatch [Электронныйресурс] / Medium. - URL: https://medium.com/@JoyceMatos/grand-central-dispatch-swift-3-93f995c15fd2.(Дата обращения: 10.05.2019)

Boost Smooth Scrolling with iOS 10 Pre - Fetching API [Электронныйресурс] / Medium. - URL: https://medium.com/capital-one-tech/boost-smooth-scrolling-with-ios-10-pre-fetching-api-818c25cd9c5d. (Датаобращения: 10.05.2019)

Размещено на Allbest.ru


Подобные документы

  • Анализ процесса взаимодействия студентов и работодателей при поиске вакансий. Преимущества трудоустройства студентов во время учебы в ВУЗе, методы поиска работы. Проектирование базы данных и разработка веб-сайта для поиска предложений работы студентам.

    курсовая работа [3,3 M], добавлен 03.07.2017

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

    дипломная работа [2,6 M], добавлен 13.09.2017

  • Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.

    дипломная работа [2,2 M], добавлен 08.06.2017

  • Анализ российского рынка мобильных приложений. Мобильное приложение как новый канал коммуникации с целевой аудиторией. Этапы создания мобильного приложения. План продвижения мобильного приложения в сети Интернет. Бесплатные инструменты продвижения.

    дипломная работа [1,6 M], добавлен 23.06.2016

  • Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.

    курсовая работа [987,1 K], добавлен 27.06.2019

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

    курсовая работа [3,6 M], добавлен 16.07.2016

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

    курсовая работа [1,5 M], добавлен 05.07.2014

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

    дипломная работа [834,2 K], добавлен 15.02.2013

  • Объектно-ориентированное программирование как новый подход к созданию приложений. Разработка Windows-приложения для поиска информации в хэш-таблице. Анализ использования хеширования для поиска данных и линейного зондирования для разрешения конфликтов.

    курсовая работа [915,5 K], добавлен 06.03.2016

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.