Node. js

Что это простыми словами и какие задачи можно решать

Node. js

Коротко

  • 01
    Что за инструмент

    Node.js — платформа для веб-разработки на основе языка Java Script

  • 02
    Где используем

    Приложение c VPN для крупного сервиса развлечений

  • 03
    Какие задачи решаем с помощью технологии

    Настроили процесс приема оплаты

    Создали механизм сбора статистики

    Уменьшили нагрузку на сервера

  • 04
    Результаты работы системы для бизнеса

    50 000 раз приложение скачали в Google Play в первые три месяца

    6+ платформ на которых работает приложение

    6 месяцев — срок разработки приложения

Проект: приложение с VPN для крупного сервиса развлечений

Наш клиент — крупнейший контент-провайдер в Канаде. Один из его проектов — сервис развлечений: более 40 млн опубликованных роликов и 350 тысяч пользователей онлайн каждый день.

Кейс: VPN-приложение для сервиса развлечений

У пользователей сервиса из некоторых стран была проблема с доступом: они не могли смотреть контент из-за блокировок. OrbitSoft решил эту проблему: мы разработали VPN-приложение, которое можно устанавливать на 6 разных платформ и увеличили количество клиентов сервиса. Подробнее о разработке можно почитать в обзоре кейса.

Приложение локализовано более чем на 30 языков — оно доступно пользователям в разных странах.

Почему мы выбрали для разработки Node. js

Node.js — это среда выполнения JavaScript с открытым кодом вне браузера. Она работает на стороне сервера на основе ядра JavaScript V8 (Chrome).

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

Зачем мы оставили Node. js? Из-за следующих причин:

  • Асинхронность в сочетании с событийным подходом. Удобно программировать интерактивные приложения, которые зависят от действий пользователей.
  • Большая библиотека компонентов Java Script упрощает разработку. Библиотеки постоянно развиваются и создаются новые.
  • Более 500 тысяч пакетов решений с открытым исходным кодом — в Node. js встроен удобный менеджер пакетов npm. На платформу легко добавлять новые элементы, чтобы создавать любые функции.
  • Движок V8. Компилятор позволяет не терять в скорости разработки больших приложений.

Какие задачи решаем с помощью Node. js

Node.js используем для серверной части приложения: инструмент позволяет приложению выполнять несколько задач одновременно и не виснуть. Это важное преимущество. Богатая библиотека компонентов и опенсорсных решений дает возможность дорабатывать функции приложения под задачи бизнеса.

Настроили прием оплаты в приложении. Чтобы пользоваться приложением, пользователь подключает подписку. Оплата списывается каждый месяц после семидневного бесплатного периода

В приложении была сделана неудачная логика приема оплаты: прежде чем выбрать тариф, пользователь должен был создать аккаунт. Это многих отталкивало: пользователи не понимали, зачем вводить персональные данные до того, как узнают стоимость услуги.

Чтобы приложение стало доступнее для клиентов, мы изменили логику оплаты: к приложению теперь можно подключиться без создания аккаунта. Так приложение стало более доступным для клиентов.

К приложению теперь можно подписаться без создания аккаунта

Наладили сбор статистики. Компания анализирует поведение своих пользователей: какие ролики популярны, а какие нет, какого возраста пользователи просматривают контент, как часто. Анализ поведения позволяет компании развиваться, увеличивать свой доход, наращивать конкурентное преимущество.

Мы наладили сбор статистики и создание отчетов на Node.js.

Клиент может задать любые интересующие его параметры и получить отчет по ним.

Защитили данные от нападений мошенников. У любого инструмента программирования есть свои уязвимости — мошенники могут воспользоваться ими, чтобы украсть данные пользователей, контент или разработку.

Мы учли уязвимости Node. js при создании приложения — данные и код в безопасности.

Это часть кода для настройки сервера и использование серверного софта

Результаты работы с Node JS

Запуск приложения на базе Node Js в App Store был в августе 2020. Исправленную версию мы выкатили всего через полгода — в январе 2021. Со всеми доработками и улучшениями проект занял около 10 месяцев.

Приложение можно устанавливать на 6 платформ: iOS, macOS, Android, Android TV, Fire OS, Windows.

На данный момент его установили более 250 тысяч раз.

Технический блок

Windows: все версии, начиная с Windows 7

  • Интегрированная среда разработки Microsoft Visual Studio 2019
  • Разработка дизайна Microsoft Expression Blend
  • Язык программирования C#
  • Windows Presentation Foundation (WPF)
  • NET Framework 4.7.2
  • WiX Toolset для создания инсталлера

iOS

  • Язык Swift
  • iPhone, iPad
  • Минимальная версия iOS — 12.0
  • Библиотеки: Firebase (Analytics, Messaging, DynamicLinks), Google IDFA Support, Facebook SDK, lottie, Toast-Swift, PlainPing
  • Система сборки CocoaPods

macOS

  • Язык Swift
  • macOS
  • Минимальная версия macOS — 10.14
  • Библиотеки: lottie, Toasts, PlainPing, SRTabBarController (с исправлениями), CustomSegue, CustomButton, FLOPageViewController
  • Системы сборки CocoaPods, Swift Package

Android

  • API level 21+
  • Android, Android TV, Fire OS
  • Phones, tablets, TV
  • Язык программирования Kotlin
  • Использованные паттерны — MVVM
  • Библиотеки: Firebase (Cloud Messaging, Analytic, Crashlytics), Google Play Billing Library, Leanback, AndroidX, Lottie

Frontend

  • React.js;
  • Vue.js
  • WordPress

Backend

  • Node.js
  • TypeScript
  • NoSQL (MongoDB)

Библиотеки

  • Express.js
  • Moment.js
  • Mongoose.js
  • Jsonwebtoken.js

В чем бы вы ни нуждались, мы можем помочь!

Расскажите нам, с какими проблемами вы сталкиваетесь в своем бизнесе. Мы с нетерпением ждем вашего ответа.

Получите ответ по смс

Ваше сообщение успешно отправлено!
Представьтесь пожалуйста
Укажите номер, на который придет ответ
Нажимая на кнопку, вы даете согласие
на обработку персональных данных.