@drawoharaя ❤️ це! << натисніть мене 🐛 🫖 🧚
/dojo4-takes-a-bat-to-cancer
опубліковано: 2014-10-23

Останній проект dojo4 з Stand Up to Cancer (SU2C) допоміг їм зібрати понад 100 мільйонів доларів за один телемарафон. Через місяць ми знову працюємо з SU2C; цього разу вони співпрацюють з Major League Baseball, щоб збирати кошти на Всесвітній серії!

SU2C звернулися до нас з проблемою - MLB представляє SU2C та боротьбу з раком під час Гри 3 Всесвітньої серії (завтра - п'ятниця, 24 жовтня)! Вони хотіли покращити додаток, який ми створили для них кілька місяців тому, що дозволяє людям створювати присвяти улюбленим, які хворіють на рак: #istandupfor.

Спочатку ми створили додаток як адаптивний веб-сайт, де люди могли завантажувати зображення, вводити присвяту, ділитися своєю присвятою в соціальних мережах та бути показаними в галереї SU2C. З новою видимістю Major League Baseball, SU2C хотіли підняти додаток на новий рівень. Тому ми повернулися до креслярського столу.

Ось вимоги:

Ось що ми зробили:

залишайте масштабування експертам

Спроба обробляти великий обсяг трафіку безпосередньо на наших серверах - це прямий шлях до стресованих розробників, які відчайдушно виправляють помилки та залишають користувачів в очікуванні, коли вони намагаються внести свій внесок у чудову спільноту SU2C. Хто добре впорається з обробкою величезної кількості завантажень? Amazon S3.

Замість того, щоб вимагати, щоб один з наших веб-серверів EC2 працював і працював, додатки безпосередньо завантажують зображення та всю необхідну інформацію про присвяту (присвята, електронна пошта тощо в невеликому файлі json) до AWS S3. Веб-версія #istandupfor вже завантажувала зображення до S3, тому рефакторинг був мінімальним. Amazon також має нативну підтримку мобільних додатків для завантаження в S3 з SDK для iOS та Android.

Потім наші сервери EC2 періодично перевіряють S3 на нові завантаження присвят і обробляють їх у нашій центральній базі даних для перегляду окремих присвят онлайн (думайте про ділення в соціальних мережах) і для SU2C, щоб схвалити та додати до галереї. Наші користувачі завжди зможуть створювати присвяти незалежно від платформи, якою вони користуються (веб, iOS або Android), завдяки S3 та CloudFront.

Ми провели конференц-звонок з AWS (привіт, Девід та Натаніель!) щоб переконатися, що наш план міцний, і вони погодилися, що це найкращий підхід. Інженери в AWS точно знають, як обробляти тисячі запитів за секунду без порушень, тому ми дозволили їм.

гібридні нативні додатки

SU2C хотів нативний додаток, але також дуже хотів уникнути багато обслуговування в майбутньому. Магазини додатків - чудові механізми дистрибуції, але містять багато перешкод. Проходження через ці перешкоди один раз набагато простіше, ніж доводиться проходити через них щоразу, коли потрібна зміна в додатках.

Тому ми використали мої стартові точки для iOS та Android, Imbed, щоб створити нативні додатки для iOS та Android, які використовують веб-перегляд для завантаження додатка. Нативні оболонки надають обробники JavaScript, які запускають нативний код, тому ми можемо створити будь-який нативний код, який нам потрібен (в цьому випадку більшість нативного коду полягала у виборі зображення з пристрою та його завантаженні до AWS S3 за допомогою SDK AWS) і потім викликати цей нативний код через веб-сторінку, завантажену всередині додатка. Ця веб-сторінка все ще є веб-сторінкою, тому ми можемо вносити до неї оновлення, публікувати її та оновлювати додаток без необхідності знову проходити через перешкоди магазину додатків.

Перегляньте додаток Android на Google Play і додаток iOS в Apple App Store!

Ми любимо працювати з SU2C. Вони не лише збирають багато коштів на боротьбу з раком, але й дуже милі та чудові в роботі. Ми не можемо чекати, щоб побачити результати завтрашньої гри - завантажте додаток і зробіть пожертву!