Обозреватель — важные темы на сегодняшний день
На WWDC2019 яблочная компания явила сообществу разработчиков (относительно) новый способ декларативной верстки интерфейсов приложений — SwiftUI.
На самом деле, данный способ существовал и ранее, в виде сторонних библиотек, но видимо это был не apple way, потому компания Apple представила свое видение процесса.
Как это часто бывает, технология на самом старте была сырой и ее в основном использовали энтузиасты для своих маленьких проектов. Я продолжал по старинке верстать интерфейсы в коде с помощью UIKit, что меня полностью устраивало и устраивает по сей день в коммерческих проектах. Как ни крути, SwiftUI до сих пор не имеет полноценных аналогов для многих привычных компонент, к которым привыкли разработчики (но позволяет встраивать привычный UIKit, что решает проблему).
Когда пришло время разобраться с технологией, чтение официальной документации оказалось довольно скучным занятием, требовался реальный проект, чтобы в процессе глубже разобраться и усвоить новые подходы в разработке.
В наше «веселое время» очень не хватает возможности чтения информации не только из официальных источников, но и альтернативных каналов (у нас иногда встречаются и значимые публикации этого ресурса).
Собственно, данный проект и хочу представить на оценку читателям. При выборе идеи, я руководствовался тем, что проект не должен быть сложным в реализации, иметь смысловую нагрузку и его можно было опубликовать в AppStore. Естественно, ни о какой монетизации в данном подходе не может быть и речи.
Процесс написания кода занял порядка двух недель:
— пара дней на написании сетевого слоя для работы с данными.
— оставшиеся время на поиск нужной информации и переработку для возможности реализации в проекте.
Какой можно подвести итог?
1) SwiftUI хорош в быстрой верстке графического интерфейса приложений и выводит скорость верстки на новый уровень. При должной сноровке, приложения можно «выпускать пачками» и пробовать на них зарабатывать.
2) Как и любой инструмент, SwiftUI требует изучения и применения полученных знаний на практике (иначе быстро забывается).
3) При своей сырости, язык вполне можно применять в сложных проектах, при условии, что эти проекты не требуют поддержки ниже версии iOS 13.
Всем спасибо за внимание. Надеюсь, приложение кому-либо пригодится для ознакомления с альтернативными источниками информации, ну и официальными (куда уж без них).