Разработать и протестировать приложение для iPhone, представляющее из себя новостной агрегатор, с использованием среды разработки Xcode.
Пользователь видит список подгруженных новостей, с возможностью их детального просмотра и сохранения в избранное. Приложение должно состоять из TabBarViewController, с переключением между списками всех новостей и избранных новостей. На экране списка отображать таблицу новостей, с указанием автора, даты публикации и описания. Использовать можно NewsData API(бесплатная версия имеет только 200 запросов/день), либо подобный по форме данных сервис(не обязательно новостной). Избранные новости следует хранить локально на девайсе(способ хранения можно выбрать какой удобно). При выборе новости из любого списка пользователь попадает в окно детального отображения, с автором, изображением(если оно имеется), описанием и ссылкой на источник. Также там можно пометить новость избранной(убрать из избранного) по кнопке в меню навигации Будет плюсом:
- Пагинация при подгрузке полного списка новостей в таблицу
- Отображать превью изображений(если имеются) в списке новостей, в уменьшенном под высоту ячейки виде
Отсутствие блокирующих багов Завершенность и корректное отображение интерфейса на всех видах девайса Общая архитектура приложения (логическое разделение приложения на части, модульность, использование архитектурных подходов) Качество и чистота кода
Технологии:
- Swift
- Архитектура VIPER
- UIKit
- Верстка кодом
- Realm / FileManager
- Юнит-тесты
Инструкция: Новости можно просматривать с помощью скроллинга. При свайпе вниз в начале списка новостей они обновляются по актуальности, а при свайпе вверх в конце списка осуществляется пагинация. Также можно открыть новость в окне детального отображения, нажав на определенную новость, добавить новости в избранные, удалить и редактировать их, а также перейти во встроенный браузер, нажав на ссылку. Данные сохраняются в Realm. В случае исчерпания лимита запросов перейти в файл Constants, найти переменную urlAPI и поменять на апи ключ.
Запись fps при быстром скролле - https://vkvideo.ru/video137570620_456239037?list=ln-9zXqhav69lProow7Ry