Я тут меньше в канале пишу, наверное, все заметили. Это прост я занят немного. Готовлю большой проект и еще в параллели пара-тройка мелких задач.
Но вот кое-чем уже похвастаться могу.
В SDK NewNode появилась функция передачи данных класса "устройство-к-устройству".
Коротко: помните же мессенджер FireChat, который задумывался, как "мессенджер без интернета"? Собственно, это развитие этого проекта с учетом ошибок. Теперь вы можете сделать любое мобильное приложение (iOS и Android) работоспособным без прямого подключения к интернетам. Нет, там нет магии — просто допилили библиотеку этим функционалом.
Грубое описание работы такое:
Если приложение с имплементированным NewNode имеет выход в интернеты и может обратиться к необходимому ресурсу, то все работает прозрачно. Если есть доступ к интернетам, но ресурс недоступен, то приложение ищет доступные прокси-серверы (там используется термин "инжекторы"). При этом, само устройство тоже может быть нодой доступа для доступа к контенту другим приложениям.
И вот новая фича: если для приложения недоступен интернет вообще, то включается поиск других устройств с NewNode в пространстве Bluetooth/WiFi и делается запрос требуемой информации. Короч, как FireChat, но теперь эта фича может быть доступна разработчикам вообще.
Я потом подробнее напишу, как оно работает.
Пока же вот Гитхаб, где вы невозбранно можете взять код и достаточно полное описание работы SDK.
https://github.com/clostra/newnode/blob/master/docs/newnode-spec.mdЧто даёт собственно использование NewNode в ваших проектах:
* ускоряется доставка контента в принципе;
* доставка контента более надежна;
* атаки DDoS на инфраструктуру приложения становятся бессмысленными;
* краткосрочное падение инфраструктуры для статичного контента будет не столь болезненным инцидентом — ранее опубликованные ресурсы остаются доступными;
* драматически снижаются расходы на CDN или хостинг (особенно, если к вам пришёл "пик запросов";
* цензура обходится — это сайд-эффект, но как мне кажется, довольно важная история.
Если хотите потестить — велкам в ЛС. Постараюсь ответить на вопросы и/или ретранслировать запросы в команду разработчиков.