История приложения для безопасной корзины

От концепции к завершению: путешествие приложения — часть VIII

Часть VIII → Покушение на Бета-Маунтин

Посмотрите, о чем эта история — https://blackhole2020.app/

TLDR;

  • Переключение платформ может спасти вашу душу
  • Эпические провалы иногда бывают благословением
  • Выбор SwiftUI в MacOS после Windows UWP (какое большое изменение!)

Подталкивание к выпуску бета-версии (Гора)

Сделав небольшой крюк в болота мыслей и страхов, я говорю себе «пора утроить усилия и вытолкнуть это дело в мир!» Настало время саммита толкнитек горе Бета.

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

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

Обнаружение этой внутренней мотивации очень личное

Кто-то может возразить, что внутренней мотивации на самом деле не существует, и что нужно развивать дисциплину, чтобы делать трудные вещи. Есть бесконечное количество решений этой проблемы, и важно только то, что вы найдете то, которое работает для вас.

Время восхождения, детка

…Сюрприз!

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

Эта история далека от завершения, но в то время это было настоящим потрясением для меня.

Я столкнулся с некоторыми неприятными проблемами с доступом к файлам в UWP, которые в основном сводились к необходимости обойти нелепые попытки Microsoft изолировать приложения.

В конце концов, я сгорел. Попытка за попыткой приводила к одним и тем же проблемам, исключениям неправильного доступа к файлам. Дни простого написания приложения WPF C# и удаления файлов, казалось, прошли. Возможность записи шаблонов байтов в файлы также стала излишне сложной. Проект превратился в безумие. Мониторы были брошены. Меня поразило, что я не могу просто стереть файл. Вот почему люди не любят Microsoft!

Эпический провал

В конечном счете, кое-что в том, как инфраструктура Windows хотела, чтобы я ее обошла, было слишком разочаровывающим, слишком сложным и слишком трудоемким для решения. Это было *так близко*, но так далеко. Я зашел так далеко, как только мог в то время.

Спойлер: несколько месяцев спустя я решаю все проблемы с Windows за несколько коротких сессий; но только после этого долгого путешествия по землям MacOS. Иногда «правильный» путь для вашего путешествия приведет вас под горы, а не над ними.

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

Именно здесь эта внутренняя мотивация, этот внутренний источник творчества становится абсолютно решающим.

Спаситель

Войдите, экономия — Переключение платформ (на Mac)

Я решаюсь на то, что кажется безумным маневром — отказаться от моего проекта Windows и полностью переключиться на MacOS. Моя работа не напрасна, так как все ресурсы для проектирования во многом одинаковы, математика и логика отображения легко переводятся, а единственный недостаток заключается в необходимости изучения другого нового языка — SwiftUI для Mac.

Я мог бы использовать более старые фреймворки до SwiftUI, но весь смысл этого проекта в том, чтобы использовать языки с будущим. Возможно, у вас есть опыт работы со SwiftUI для iOS. Он прекрасен, хотя и совершенно незакончен и груб. Вот почему я выбрал его и для Mac… Боже, меня ждало грубое пробуждение.

У этих двух платформ есть метрическая F-тонна различий в реализации Swift, которые заставили бы меня решить некоторые нелепые дыры Google. Существуют целые блоги, посвященные тому, как обойти гигантские выбоины в фреймворке (эй, это половина удовольствия!), и, например, вот один из лучших, который спасал мою задницу кучу раз.



Если я чему-то научился из этого проекта, так это тому, что крупные компании в наше время редко утруждают себя объяснением огромных пробелов в своих технологиях, когда они знают, что сообщество разработчиков вмешается и поделится этим (бесплатно). Отличная коммерческая выгода для Apple и Microsoft… Я полагаю, это связано с территорией.

Это то, что заканчивается спасением проекта

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

Итак, на этом решающем этапе пришло время перейти к Mac-землям.

Предыдущая часть →https://medium.com/geekculture/from-concept-to-completion-the-journey-of-an-app-part-vii-ce4af26820d6

Надеюсь увидеть вас в следующем!

Если эта история вдохновила вас на что-то, я буду рад услышать. Напишите мне в любое время!

-Джонатан | с ❤️ 🎶 ☕️