Сопротивление культуре чаевой с мультиплатформой Kotlin

Сопротивление культуре чаевой с мультиплатформой Kotlin

8 августа 2025 г.

За последние несколько лет культура переплета в США изменилась в тонких, но глубоко ощущаемых способах. То, что раньше было простым жестом признательности, превратилось в обязательство, которое ощущается, что оно заглаживается на каждом шагу. Я начал замечать, как часто меня попросят 20% совет ни за что, кроме как вручить мою еду в ходе поездки или заказа по поводу закуска и удивиться "это для заметного обслуживания? Или это просто какой -то добрый поступок?" Я не против чаевых. Я думаю, что подсказка - это отличная возможность сделать что -то хорошее для незнакомца, работающего на обслуживании. Честно говоря, я чаще чахлю 1-2 доллара каждый раз, когда беру фаст-фуд и всегда делаю 20-25%, если меня ждать. Но с появлением таблеток, рассчитывающих и запрашивающих процентных советов, я чувствовал, что практика становится эмоционально хищной. Я бы заметил отношение людей от людей, если бы я только претендовал на 10% по заказу за 30 долларов или вручил капюшону на концерт за 60 долларов. Я осознаю, что работы по обслуживанию нелегко, и, возможно, я тот, кто имеет право говорить это, но я не чувствую, что в одиночку в одиночку вызывает 12 долларов, и все же я всегда чувствовал себя диссонирующим и морально вынужденным сделать это. Очевидно, я не был один, так как 9 из 10 американцев говорят, что чаевая культура зашла слишком далеко. Итак, я придумал сумасшедшую идею, чтобы надеяться, что он решит некоторые из этих конфликтов и принести хорошее в мире.

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

Приложение довольно простое: вставьте общую сумму покупки, нажмите на процент, который вы имели бы, нажмите «Залог» и подскажите $ 0 IRL, зная, что: вы не жадные, вы все еще отказываетесь от своих денег, но это отчаянно нуждается людям во всем мире. Затем вы можете пожертвовать сумму денег черезКаждый., через приложение непосредственно в ЮНИСЕФ США. Благотворительный API не принимает никакого сокращения (кроме дополнительного пожертвования, по иронии судьбы в форме наконечника), а Unicef USA-чрезвычайно хорошо продуманная благотворительная организация с очень высокой оценкой легитимности, и миссия, которая чувствует себя универсальной защитой. Тем не менее, следует заявить, что у меня нет никакого партнерства или партнерства ни с этими благотворительными организациями, ни платформами, это просто использование открытого API.

Приложение также требует, чтобы пользователь пожертвовал через 30 дней, чтобы продолжить его использование. Мне все равно, ненавидят ли пользователи это, удаляют и 1-звездочный приложение. Я хотел, чтобы пользователи были ответственны за миссию приложения, вместо того, чтобы иметь возможность жестким работникам, чувствовать себя хорошо, но на самом деле не выполняют.

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

Users must agree not to use the app to stiff tipped professions in general

Технический стек

Приложение было сделано в свободное время с простым техническим стеком, состоящим из мультиплатформенного мобильного телефона Kotlin, сочинения мультиплатформы, многоплатформы помещения и проверки Auth, Firestore и приложения Firebase.

Платформа

Это был мой первый раз, когда работал с KMM или любым многоплатформенным разработкой, и это было удивительно интуитивно понятным. Получение его создания и работы на Android было простым, так как Android Studio уже обладает большой поддержкой для Kotlin и Jetpack Compose. По сути, вы просто пишете весь свой код в своем модуле CommonMain с помощью App (), который можно было в качестве точки доступа. Ваши модули Androidmain и iosmain затем содержат поддержку вашей собственной реализации, указывающей на это. Androidmain был прост в общих подклассах активности/приложения, в то время как iosmain был в основном мостом для декомпиляции в нативный код iOS (еще один каталог сестер проекта под названием iosapp). В нем также была очень интуитивно понятная/фактическая функциональная система, которая сделала различную логику между платформами очень проста.

UX

Код Compose Multiplatform был очень интуитивно понятным для работы. Я большой поклонник декларативного пользовательского интерфейса, который сильно соблюдается с помощью Design. У меня было очень, очень немногие случаи неподдерживаемого поведения, представленные в Native Android Compose, так как практически все сложные анимации и макеты отлично работали как на Android, так и на iOS. Многие люди сильно критикуют производительность сочинять, но я не нашел проблем, хотя и с моими довольно простыми макетами. Паритет в производительности и визуальных эффектах казался идеальным между сборками iOS и Android, за исключением легко исправленной логики для соответствующего статуса и навигационных стержней.

Упорство

Multiplatform также отлично работала на обеих платформах, как только я получил его здание, но туда попало несколько малых головных болей. Любой, кто работал с Room на Android, будет полностью почувствовать себя дома, работая с многоплатформенным портом.

Аут

Firebase была немного другой истории. ЕстьФантастическая библиотека для поддержки Firebase на KMM от GitliveЭто сделало вещи очень простыми, однако, он еще не поддерживал проверку приложений Firebase, функцию, которая охраняет от злонамеренного использования пожарной базы. Эта функция была критической для моего приложения, учитывая, что она неизбежно будет довольно спорной и, вероятно, пригласит атаки. Из -за этого мне пришлось отказаться от него и внедрить Firebase на каждой соответствующей мобильной платформе. Android сделал это очень простым, однако, связь между кодом Kotlin и Swift для стороны iOS оказалась очень утомительной с большим неловким взаимодействием на основе отражения. Это был единственный способ, которым я мог сделать это, но, честно говоря, вероятно, «проблема умения». Аутентификация пользователя через Firebase очень хорошо работает с коратиками Kotlin, и хранение функциональных данных пользователей, таких как их обещания, сколько они пожертвовали и т. Д. Были легко использовать Firestore, хотя и немного дорого.

TL; DR

По моему опыту, Kotlin Multiplatform Mobile обладает большим потенциалом, особенно для простых приложений, однако, учитывая небольшие технические возможности, мало недостающих функций и необходимость в том, чтобы реализовать реализации с соответствующими ограничениями на платформах, это кажется трудной продажей в качестве практического варианта для крупного коммерческого приложения на данный момент, но я оптимистичный с нетерпением жду. «React Native - это будущее», - говорят они…



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE