Ответ
Я разработал с нуля три коммерческих iOS-приложения, которые были опубликованы в App Store.
Проекты:
- FinTech-приложение (мобильный банкинг)
- Стек: SwiftUI, Combine, CoreData.
- Ключевые функции: биометрическая аутентификация, push-уведомления, работа с финансовыми API.
- E-commerce платформа
- Стек: UIKit, Alamofire, Firebase.
- Ключевые функции: интеграция с платёжными системами (Stripe, Apple Pay), аналитика пользователей, админ-панель.
- Health-трекер
- Стек: SwiftUI, HealthKit, Realm.
- Ключевые функции: синхронизация данных с Apple Watch, облачное хранение, сложные графики.
Архитектура и процессы:
- В проектах применялись паттерны VIPER и MVVM.
- Реализованы процессы код-ревью и CI/CD (с использованием Fastlane и GitFlow).
Пример структуры модуля (VIPER):
final class LoginInteractor {
private let authService: AuthServiceProtocol
weak var presenter: LoginPresenterProtocol?
func loginUser(with credentials: Credentials) {
// Бизнес-логика авторизации
}
} Ответ 18+ 🔞
Ну, слушай, история такая — я тут, блядь, не просто пальцы в кнопки тыкал, а реально с нуля запилил три штуки для айфона, которые теперь в App Store болтаются. И не просто болтаются, а люди ими пользуются, деньги платят — вот это, понимаешь, повод для гордости, а не просто строчки в резюме.
Что по итогу вышло:
-
Приложение для банкинга (FinTech)
- На чём делал: SwiftUI, Combine, CoreData — всё как у взрослых.
- Что там внутри: Вход по лицу/пальцу, эти ваши пуш-уведомления, и самое главное — танцы с бубном вокруг API банка, чтобы данные не терялись и не путались. Безопасность, блядь, на первом месте, а то мало ли.
-
Магазин всякий (E-commerce)
- На чём делал: Старый добрый UIKit, Alamofire для запросов, Firebase для всего остального.
- Что там внутри: Платежи (Stripe, Apple Pay) — чтобы бабло нормально проходило, аналитика — чтобы понимать, что эти пользователи вообще делают, и админка, чтобы владелец не сходил с ума. Эпичная хуйня, в общем.
-
Трекер для здоровья (Health)
- На чём делал: Опять SwiftUI, HealthKit (чтобы с часами Apple дружило), Realm для локальной базы.
- Что там внутри: Данные с часов синхронизируются, в облако летят, графики красивые строятся. Чтобы человек посмотрел и понял: «Ёпта, я ж за неделю как конь пробежал, пора бы и пивка».
Как я это всё организовывал:
- Архитектуру не абы какую тыкал, а VIPER и MVVM применял. Чтобы потом, если что, не пришлось всё переписывать с молитвами и матом.
- Процессы настроил: код-ревью (чтобы коллеги поржали над моими косяками), и CI/CD на Fastlane с GitFlow. Нажал кнопку — и приложение само собирается и летит в тест. Магия, блядь.
Вот, глянь, кусочек кода, как я модуль авторизации по VIPER пилил:
final class LoginInteractor {
private let authService: AuthServiceProtocol
weak var presenter: LoginPresenterProtocol?
func loginUser(with credentials: Credentials) {
// Тут вся бизнес-логика, проверки, запросы к серверу
// Короче, мозги модуля
}
}
Вот так вот, не просто «я умею в свифт», а с пониманием, зачем каждый кусок кода существует. А то иначе — пизда проекту, а не разработка.