Эта статья была опубликована сообществом cloud+community
В декабре 2018 года совокупное количество пользователей Tencent Photos превысило1亿
, Ежемесячно 12 миллионов, рейтинг Aladdin IndexTop 30
, стал тяжеловесом в экологии мини-программы.
За более чем три месяца Tencent Photos быстро оптимизировала и добавила ряд социальных функций вокруг основного сценария «обмена фотографиями из альбомов в WeChat» и сотрудничала с соответствующими операциями, чтобы добиться прорыва в совокупном количестве пользователей.1亿
Это намного превосходит ожидания.
Однако, кто бы подумал, что такая небольшая программа с размером 100 миллионов была фактически разработана одним человеком? Какой «трюк» он должен поддерживать небольшую программу с более чем 100 миллионами пользователей самостоятельно?
Закулисных кадров не хватает, что делать?
Когда я впервые встретил Дэвида (псевдоним), разработчика апплета фотоальбома Tencent, он выглядел обеспокоенным.
«Цель к концу года — иметь более 10 миллионов пользователей, но сейчас есть только несколько разработчиков внешнего и внутреннего интерфейса. Мало того, наша внутренняя разработка не может на 100% посвятить к этому проекту, и большую часть времени приходится уделять поддержке других проектов, рабочей силы очень мало.Кроме того, исходная бэкэнд-система имеет большой исторический багаж, и нереально разрабатывать новые социальные функции на оригинальная структура Что мне делать?
«Почему бы вам не попробовать «Разработку мини-программы в облаке», вам нужен только внешний интерфейс, чтобы запустить мини-программу, которая просто решает проблему отсутствия у нас фона».
В результате Дэвид, как костяк команды разработчиков Tencent Photo Album, взял на себя важную задачу по реализации функции социализации мини-программы Tencent Photo Album с помощью Mini Program Cloud Development.
«Когда я впервые столкнулся с «Мини-программной облачной разработкой», я почувствовал, что концепция этой вещи (Мини-программная облачная разработка) была совершенно новой — модель разработки без служб для небольших программ. три основные функции. Апплет не может обойти помощь фона, его двериЧтение данных,управление файламитак же какОбработка конфиденциальной логики (например, разрешений). Следовательно, в традиционном режиме разработки апплет должен отправить запрос в фоновый режим для аутентификации и обработки связанных файлов или данных. Даже если Node используется для создания серверных сервисов, требуется много работы для создания инфраструктуры, а также послеоперационного обслуживания и обслуживания. "
«Облачная разработка апплетов освобождает руки и ноги разработчиков апплетов, предоставляя им возможность безопасно и стабильно читать данные, загружать файлы и контролировать разрешения. Для других нагрузок, аварийного восстановления, мониторинга и т. д. мы разрабатываем апплеты-программы. Разработчики нужно только обратить внимание на бизнес-логику и сосредоточиться на написании бизнес-логики, и не нужно беспокоиться о других вещах!Первоначально я был в недоумении, и после понимания принципа продукта «Разработка мини-программы в облаке», я мгновенно стало известно об этом».
Двумерный код не подметает
Дорога всегда неровная, и на пути к тому, чтобы мини-программа Tencent Album Mini достигла более 100 миллионов пользователей, есть много трудностей.
Из-за большого объема информации, которую должен нести QR-код Tencent Album, его QR-код выглядит плотно упакованным. Такой плотный QR-код может привести к тому, что апплет не распознается некоторыми моделями Android.
Это серьезно ограничивает возможности апплета фотоальбома Tencent по обмену и привлечению клиентов.
(Необходимо хранить много информации, такой как имя, идентификатор владельца, страница и т. д.)Решение этого вопроса не сложно, если фоновая разработка сначала сохраняет данные в базе данных, а затем помещает идентификатор данных в ссылку для обмена, чтобы ссылку можно было преобразовать в короткую ссылку из 32 символов, что делает QR-код выглядит уже не таким плотным.
Однако из-за нехватки рабочей силы Дэвид, разработчик внешнего интерфейса, использовал возможности хранения базы данных облачной разработки апплета для вызоваdb.collection('qr').addИнтерфейс для быстрого реализации хранения данных в базе данных.
(Облачная база данных разработки, формат аналогичен MongoDB) (Индекс базы данных облачной разработки, который может ускорить чтение данных)Кроме того, в альбоме также сохранены возможности облачного апплета Tencent для облачной разработки, генерирующие более узнаваемый код апплета (Мини-документация по программному коду) распространять и делиться в кругу друзей.
(логика облачной функции для генерации кода апплета) (оптимизирован обмен изображениями и кодом апплета)2 дня онлайн-комментариев и лайков
(комментарий и лайк)Основным сценарием приложения Tencent Photos в WeChat является «обмен фотографиями в WeChat». Чтобы улучшить взаимодействие пользователей Tencent Photos в WeChat и улучшить привязку и удержание пользователей, Tencent Photos решила добавить комментарии и отметки «Нравится», а также добавить чат. комментарии Это реализовано непосредственно в окне чата WeChat.
Здесь Дэвид из Tencent Albums столкнулся с двумя вариантами: первый — использовать для выполнения этой функции исходную модель разработки (внешняя разработка — внутренняя разработка — совместная отладка клиентской части и серверной части). цикл разработки, отсутствие серверной части и медленная итерация.; Другой — использовать возможности облачной разработки, чтобы засучить рукава и сделать это самостоятельно.
Чтобы ускорить итерацию продукта, Дэвид решил использовать метод облачной разработки. Комментарии и лайки вставляются и запрашиваются через базу данных, разработанную в облаке, напримерdb.collection('comment').add, скоро понял.
Но сложная проблема заключается в том, что для некоторых конфиденциальных операций, таких как удаление и редактирование комментариев, лайков и т. д., также требуется операция аутентификации пользователя, и вся эта аутентификационная информация находится в исходном фоне. В настоящее время,Маршрутизация облачных функцийфункция работает.
(комментарий как логика)Когда пользователи комментируют и лайкают, они инициируют запрос в апплете, чтобы вызвать облачную функцию и принести ее с собой.openid
, для облачных функцийopenid
Запросите исходный фоновый сервис, чтобы узнать, есть ли у пользователя разрешение на работу.Если у пользователя есть разрешение, запишите данные комментариев и лайков в базу данных облачной разработки.
Таким образом, воспользовавшись небольшими возможностями программы и облачных возможностей развития, Tencent Photo Album завершила работу по разработке, которая требовала более недели работы в соответствии с традиционным режимом развития всего за 2 дня.
оригинальный режим разработки | Разработка полного стека в облаке | |
---|---|---|
нагрузка | 1 неделя в фоновом режиме (проверка статуса входа в WeChat + разработка сервера бизнес-логики) + 1 день совместной отладки переднего и заднего плана | 1 - 2 дня без совместной отладки |
Эта статья была разрешена автором для публикации Tencent Cloud + Community