5 причин не начинать писать приложение под macOS/iOS

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Привет хабр! Я терпел четыре года, и таки решился написать о своем хобби проекте. Если коротко о себе, то я типичный разработчик подсевший на макбуки в эру, когда ноутов с хорошей батареей толком и не было.

Мой проект — программа для ведения заметок в markdown и plain text. Возможно вы слышали о FSNotes, а если нет, то можете сами взглянуть, весь код лежит на GitHub, под MIT лицензией.

Линк на репозиторий — https://github.com/glushchenko/fsnotes

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

Модерация в AppStore

Начну с самого больного — модерации. Так как выгружать кроме как в AppStore приложения у Apple нельзя (будет нельзя в случае macOS), то ты по факту становишься заложником команды ревьюеров.

В самом начале мне неоднократно отказывали в публикации.

Самый последний раз мне вставили палки в колеса почти на три месяца. Я поднял восстание открыв issue https://github.com/glushchenko/fsnotes/issues/695

Apple удалось продавить, так как заметка попала в топ на Hacker News и её прочли десятки тысяч человек. Через неделю мне дали добро, но какими усилиями?

Лимитированные API

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

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

Доступ к файловой системе в iOS ограничен, и вроде как мы получили послабления в iOS 13, но API для отслеживания изменений во внешних директориях до сих пор нет.

Deprecated класс WebView, который я использую для печати документов. Его использовать уже с одной стороны нельзя, а с другой в WkWebView до сих пор нереализован метод print.

И многое многое другое, с чем вы обязательно столкнетесь.

Мобильное приложение

Когда ты начинаешь новое приложение, ты не задумываешься о постоянно расширяемом парке устройств.

Но так как телефон очень глубоко засел в современной жизни, то мне пришлось написать программу и для iOS. Но несмотря на одну кодовую базу и наличие в арсенале разработчика SwiftUI, все не так просто.

Плавная анимация в iOS это боль в случае необходимости отображения двух View одновременно на одном экране.

Обработка задач в фоне в случае с большей части API — невозможна.

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

Локализация

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

Дальше подтянулись китайцы, арабы, японцы, французы и т.д. На данный момент пользователи сделали перевод на 12 языков, и это потянуло за собой свои проблемы.

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

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

Арабов починил, пришли хитрые европейцы, которые аллилуйя пишут на латиннице, но! Я узнал что есть люди, которые используют Dvorak и Colemak. И все шоткаты, которые я придумал для них не работают ​

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

Тут не хватает только русских, и да они тоже пришли... И рассказали, внезапно, какой у меня плохой английский :D

Деньги

Самое табуированное, разговор про деньги. Мое приложение сейчас в топ 5 категории Productivity, и это приносит скромные деньги. Если бы у меня не было основной работы, то на жизнь мне точно бы не хватило.

Я тащу проект сам, но если все это разделить на команду квалифицированных разработчиков/тестировщиков/маркетологов, то я не представляю как это продавать и не вылететь в трубу.

Перед тем как влезть в эту авантюру тысячу раз подумайте, а нужно ли оно вам? Разработка для Apple это не про деньги — это фан для фанатов своего дела.

Источник: https://habr.com/ru/post/574490/


Интересные статьи

Интересные статьи

Сегодня все кому не лень рассказывают, как найти инвестора, правильно сделать презентацию и ярко запитчить. Может сложиться впечатление, что привлечение инвестиций являет...
Uber и Lyft обещали разгрузить дороги. Вместо этого они только ухудшили ситуацию Пять лет назад Трэвис Каланик был настолько уверен в том, что поездки на машинах Uber Technologies Inc побудя...
Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать. 1. Выбрать тему приложения Не нужно долгих мук выбора, просто начните делать т...
Предыстория Год назад решил я создать телеграм бот для того, чтобы поиграть в достаточно популярную новогоднюю игру «Тайный Санта». Вдохновился я тем, что пару лет назад мы на работе компани...
Один из самых острых вопросов при разработке на Битрикс - это миграции базы данных. Какие же способы облегчить эту задачу есть на данный момент?