SwellRT - SwellRT

SwellRT
SwellRT logo.jpg
Оригинальный автор (ы)Пабло Оджангурен и другие из исследовательской группы GRASIA, в Мадридский университет Комплутенсе
Разработчики)Пабло Оджангурен и другие
изначальный выпуск1 июля 2015 г.; 5 лет назад (2015-07-01)
Стабильный выпуск
0.2.0-beta / 30 сентября 2017 г.; 3 года назад (2017-09-30)
Репозиторийgithub.com/ SwellRT/ swellrt
Написано вЯва, JavaScript
Операционная системаКроссплатформенность
ТипВеб-фреймворк Бэкэнд как услуга
ЛицензияЛицензия Apache
Интернет сайтSwellrt.org

SwellRT это бесплатно и с открытым исходным кодом бэкэнд как услуга и API, ориентированные на упрощение разработки приложений с сотрудничество в реальном времени. Он поддерживает создание мобильных и веб-приложений и направлен на облегчение взаимодействия и федерация.

История

Происхождение

SwellRT берет свое начало в работе, проделанной исследовательской группой GRASIA в Мадридский университет Комплутенсе, в рамках проекта, финансируемого ЕС P2Pvalue (2013-2016), в команде под руководством Самер Хассан.[1] В 2014 году разработчик Пабло Оджангурен возглавил форк Apache Wave, отбросив несколько компонентов, переработав его и построив «Wave API» для создания приложений поверх.[2] В 2015 году такой Wave API стал отдельным продуктом под названием SwellRT.[3][4]

Влияние на проект Apache Wave

В 2016 году в сообществе Apache Wave состоялось несколько обсуждений, направленных на преодоление стагнации и кризисного состояния проекта. Наставник Apache Software Foundation по Apache Wave, Упаявира,[5] был обеспокоен стагнацией проекта, но назвал SwellRT потенциальным спасителем Wave:

И снова Wave находится на грани выхода на пенсию. Однако на этот раз был предложен код от SwellRT, который является форком самой Wave, и для заинтересованных сторон запланировано совещание, чтобы обсудить, является ли он пользователем. Я (ограниченно) понимаю, что многие проблемы сложности в коде Wave, которые препятствовали развитию сообщества, были решены в SwellRT.[6]

В конце концов, Wave было одобрено для продолжения работы в рамках программы инкубатора Apache, и копия кодовой базы SwellRT была помещена в репозиторий Apache Wave, чтобы предоставить доступ к ней сообществу Wave.[7] В связи с этим в 2017 году интеллектуальная собственность SwellRT была передана Apache Foundation.[8]

Тайваньский министр и программист бесплатного программного обеспечения Одри Тан показывает наклейку SwellRT на своем планшете
Тайваньский министр и программист свободного программного обеспечения Одри Танг показывает стикер SwellRT на своем планшете (Медиалаб Прадо, Мадрид)

Недавнее признание

В обоих 2016[9][10] и 2017,[11][12] SwellRT приняла участие в Google Summer of Code в рамках проекта Центр Беркмана Кляйна по Интернету и обществу в Гарвардский университет. В оба года вклады были очень актуальными. В 2016 году SwellRT заменил свой протокол федерации на основе XMPP (унаследованный от Apache Wave) на Matrix.org протокол федерации.[13] В 2017 году внедрено сквозное шифрование,[14][15] следуя инновационному подходу к шифрованию сообщений в Операционная трансформация совместные документы.[16]

SwellRT получил международное признание в области децентрализованных технологий[17][18][19][20][21][22][23] и сотрудничество в реальном времени.[24][25][26][27][28][29] На саммите по децентрализованной сети, организованном Интернет-архив в Сан-Франциско он был выбран как одна из современных инновационных технологий децентрализации.[30] Он также был выбран правозащитной группой Redecentralize в качестве одного из проектов редецентрализации, основатели которого были опрошены.[31][32] Он запустил международный конкурс на разработку приложений с использованием SwellRT,[33] который был присужден разработчикам бесплатного / открытого исходного кода в Индии.[34] И проект был представлен как приглашенный доклад в Центр исследований в области вычислений и общества в Гарвардская школа инженерии и прикладных наук,[35][36] и на нескольких международных конференциях.[37][38][39][40][41] SwellRT был одним из первых, кто применил Соглашение для авторов нормы поведения.[42]

Технический подход

SwellRT - это форк Apache Wave, унаследовавший часть его архитектуры и стека технологий. Тем не менее, он вырос за пределы Wave, сначала представив себя как веб-фреймворк, а в настоящее время перерос в платформу backend-as-a-service.[43][44] Текущий технический подход компании включает следующее:

  • Это полностью бесплатное программное обеспечение с открытым исходным кодом.
  • Он разработан на Java. GWT with JSInterop используется для генерации JavaScript API с повторным использованием того же исходного кода. Клиент Android также построен из тех же источников Java.
  • Он предоставляет расширяемый и подключаемый компонент редактора форматированного текста для Интернета (только), поддерживающий настраиваемые аннотации и виджеты.
  • Хранение данных в реальном времени основано на технологии Wave Модель операционных преобразований, таким образом, в конечном итоге согласован.
  • Он разработан для максимальной совместимости и следует федеративный подход аналогично Apache Wave, используя XMPP или Matrix.org протокол связи. Он нацелен на поддержку создания приложений, которые являются федеративными, то есть полагаются на несколько взаимодействующих серверов и объекты, совместно используемые серверами. Это позволяет организациям контролировать свои собственные данные.

Совместные объекты

SwellRT предоставляет модель программирования, основанную на совместные объекты. Совместный объект - это объект, подобный JSON, который может использоваться некоторыми пользователями (или группами), которые могут вносить изменения в режиме реального времени. Изменения распространяются (и уведомляются) в режиме реального времени любому пользователю, подключенному к объекту.

В объекте для совместной работы могут храниться свойства простых типов данных (строка, целые числа и т. Д.), А также форматированный текст и ссылки на файлы или вложения. Этот подход подходит для реализации любого приложения для совместной работы на основе документов, такого как текстовые редакторы или электронные таблицы.

Объекты и участники однозначно идентифицируются в Интернете, обеспечивая децентрализованный доступ с разных федеративных серверов.

Основные особенности

  • Хранение в реальном времени (NoSQL )
  • Управление пользователями
  • Интеграция на основе событий
  • Федерация (XMPP или Matrix.org )

Приложения, использующие SwellRT

SwellRT облегчает разработку мобильных / веб-приложений, поэтому несколько приложений были созданы с использованием этой технологии. Помимо демонстраций, предоставленных SwellRT,[45] третьи стороны разработали другие демонстрационные приложения, такие как сайт вопросов и ответов,[46] расширение для извлечения ключевых слов,[47] совместная полоса прокрутки,[48] Android-приложение для участия в политической жизни,[49] коннектор Trello-SwellRT.[50] Кроме того, в настоящее время технологию SwellRT используют два полноценных приложения:

  • JetPad, редактор для совместной работы, подобный GoogleDoc, бесплатный / открытый исходный код и федеративный [51][52][53]
  • Teem, бесплатное веб / мобильное приложение с открытым исходным кодом для управления сообществами и коллективами.[54][55][56]

Смотрите также

использованная литература

  1. ^ «Европейская комиссия: CORDIS: Новости и события: существенный импульс для простого и безопасного создания новых онлайн-приложений». cordis.europa.eu. Получено 2017-10-28.
  2. ^ Оджангурен-Менендес, Пабло; Тенорио-Форнес, Антонио; Хасан, Самер (2015). Распределенные вычисления и искусственный интеллект, 12-я Международная конференция. Достижения в интеллектуальных системах и вычислениях. Спрингер, Чам. С. 269–276. Дои:10.1007/978-3-319-19638-1_31. ISBN  9783319196374.
  3. ^ "Barrapunto | SwellRT: бесплатная основа для начинающих для совместной работы и децентрализации приложений". softlibre.barrapunto.com. Получено 2017-10-28.
  4. ^ swellrt: SwellRT, платформа с открытым исходным кодом для совместной работы в реальном времени, P2Pvalue, 2017-10-20, получено 2017-10-28
  5. ^ «Статус волнового инкубирования - инкубатор Apache». incubator.apache.org. Получено 2017-10-28.
  6. ^ «Сентябрь 2016 - Инкубатор Вики». wiki.apache.org. Получено 2017-10-28.
  7. ^ «Декабрь 2016 - Вики-инкубатор». wiki.apache.org. Получено 2017-10-28.
  8. ^ «Март 2017 - Инкубатор Вики». wiki.apache.org. Получено 2017-10-28.
  9. ^ «Специальное объявление: P2Pvalue и Google Summer of Code 2016». P2Pvalue блог. 2016-04-17. Получено 2017-10-28.
  10. ^ "Беркман Кляйн, Google Summer of Code Wiki". cyber.harvard.edu. Получено 2017-10-28.
  11. ^ «Иностранные студенты объединяются с наставниками Berkman Klein, чтобы изучать разработку с открытым исходным кодом | Сеть центров». networkofcenters.net. Получено 2017-10-28.
  12. ^ "Беркман Кляйн, Google Summer of Code Wiki". cyber.harvard.edu. Получено 2017-10-28.
  13. ^ «Протокол Wave Federation поверх протокола Matrix - 2016 - Google Summer of Code Archive». summerofcode.withgoogle.com. Получено 2017-10-28.
  14. ^ «SwellRT / Wave E2E Encryption: Обзор - Гики». blogs.harvard.edu. Получено 2017-10-28.
  15. ^ «Сквозное шифрование в SwellRT - 2017 - Google Summer of Code Archive». summerofcode.withgoogle.com. Получено 2017-10-28.
  16. ^ Ясно, Майкл; Рид, Карл; Эннис, Десмонд; Хьюз, Артур; Тевари, Хитеш (19 сентября 2012 г.). Аутентифицированное шифрование с сохранением совместной работы для операционных систем трансформации. Информационной безопасности. Конспект лекций по информатике. Шпрингер, Берлин, Гейдельберг. С. 204–223. Дои:10.1007/978-3-642-33383-5_13. HDL:2262/68179. ISBN  9783642333828.
  17. ^ Ермошина, Ксения; Мусиани, Франческа; Халпин, Гарри (2016-09-12). Протоколы сквозного зашифрованного обмена сообщениями: обзор (PDF). Интернет-наука. Конспект лекций по информатике. Спрингер, Чам. С. 244–254. Дои:10.1007/978-3-319-45982-0_22. ISBN  9783319459813.
  18. ^ "SwellRT: центр разработки приложений с открытым исходным кодом для совместной работы в Интернете". Programmez! (На французском). Получено 2017-10-28.
  19. ^ "SwellRT: технология открытого исходного кода для приложений | OSS". www.opensourceschool.fr. Получено 2017-10-28.
  20. ^ "Barrapunto | SwellRT: бесплатная основа для начинающих для совместной работы и децентрализации приложений". softlibre.barrapunto.com. Получено 2017-10-28.
  21. ^ "Crear en tiempo real aplicaciones descentralizadas | Catalunya Vanguardista". www.catalunyavanguardista.com (на испанском). Получено 2017-10-28.
  22. ^ "'Как P2P спасет мир », с Самером Хасаном - STEAL THIS SHOW». stealthisshow.com. Получено 2017-10-28.
  23. ^ «Захватывающий список проектов / организаций Децентрализованного мира следующего поколения, которые гудят :) • r / ethereum». Reddit. Получено 2017-10-28.
  24. ^ Бьянки, Лючия; Лио, Пьетро (2016). «Возможности для платформ информирования сообщества в области личной геномики и биоинформатики». Брифинги по биоинформатике. 18 (6): 1082–1090. Дои:10.1093 / нагрудник / bbw078. PMID  27580620.
  25. ^ Оджангурен-Менендес, Пабло; Тенорио-Форнес, Антонио; Хасан, Самер (2015). «Создание приложений для совместной работы в реальном времени с федеративной архитектурой». Международный журнал интерактивных мультимедиа и искусственного интеллекта. 3 (Обычный выпуск): 47. Дои:10.9781 / ijimai.2015.356. ISSN  1989-1660.
  26. ^ «Совместное редактирование форматированного текста в реальном времени». stackoverflow.com. Получено 2017-10-28.
  27. ^ «Какова хорошая структура для веб-приложения для совместной работы в реальном времени с несколькими документами в реальном времени на каждый экземпляр приложения». softwarerecs.stackexchange.com. Получено 2017-10-28.
  28. ^ "Совместные редакторы форматированного текста Blogory.org Javascript". blogory.org. Получено 2017-10-28.
  29. ^ "Economies col·laboratives procomuns 03/11/2016 / apunts - teixidora". www.teixidora.net (на каталонском). Получено 2017-10-28.
  30. ^ «Децентрализованный веб-саммит: блокировка веб-открытия». децентрализованныйweb.net. Получено 2017-10-28.
  31. ^ Ирвинг, Фрэнсис. «Интервью - Redecentralize.org». redecentralize.org. Получено 2017-10-28.
  32. ^ Ирвинг, Фрэнсис. "№23: Пабло Оджангурен - SwellRT - Redecentralize.org". redecentralize.org. Получено 2017-10-28.
  33. ^ «Конкурс бесплатного программного обеспечения SwellRT - участие до 18 сентября | P2P Foundation». P2P Фонд. 2016-08-30. Получено 2017-10-28.
  34. ^ «Университет ВИТ». Университет ВИТ. Получено 2017-10-28.
  35. ^ «SwellRT: содействие децентрализованному сотрудничеству в реальном времени». crcs.seas.harvard.edu. Получено 2017-10-28.
  36. ^ Гарвардский CRCS (2016-10-06), Семинар CRCS 26.09, Самер Хассан: SwellRT: Содействие децентрализованному сотрудничеству в реальном времени, получено 2017-10-28
  37. ^ «В Барселоне наблюдается взрыв экономики коллаборации общин - переходный период общин». Commons Transition. 2016-04-18. Получено 2017-10-28.
  38. ^ «Децентрализованные приложения - перецентрализация апрельской встречи в Лондоне». Eventbrite. Получено 2017-10-28.
  39. ^ «2-й семинар FLOSS4P2P». P2Pvalue блог. 2016-04-17. Получено 2017-10-28.
  40. ^ "Proyectos y herramientas para abrir la democracia« Ciudades Democráticas ". ciudades-democraticas.cc (на испанском). Получено 2017-10-28.
  41. ^ "Саммит # OGP16". en.ogpsummit.org. Получено 2017-10-28.
  42. ^ «Соглашение соавтором: усыновители». www.contributor-covenant.org. Получено 2018-05-26.
  43. ^ swellrt: SwellRT, платформа с открытым исходным кодом для совместной работы в реальном времени, P2Pvalue, 2017-10-20, получено 2017-10-28
  44. ^ SwellRT вики, P2Pvalue, 2017-10-20, получено 2017-10-28
  45. ^ «Сервер SwellRT». demo.swellrt.org. Получено 2017-10-28.
  46. ^ Жюсте, Абель Серрано (22.09.2016), upvote: Совместные вопросы и ответы в реальном времени. Найдите лучшую идею, получено 2017-10-28
  47. ^ teem-tag: модуль Python для извлечения соответствующих тегов из текстового содержимого в Teem, проекте P2PValue., P2Pvalue, 13.02.2017, получено 2017-10-28
  48. ^ ThomasWrobel (2016-10-28), SwellRT_Example_CollaborativeScrollbar: очень простой пример клиента SwellRT., получено 2017-10-28
  49. ^ Рамос Ромеро, Хайме; Бастаррика Лакаль, Хавьер (2015). DemoCritics: приложение Android для участия в политике с совместной работой и реальной работой [DemoCritics: Android-приложение для участия в политической жизни с совместной версией в реальном времени] (Финальный проект (информатика)). Мадрид (Испания): Мадридский университет Комплутенсе.
  50. ^ Шубхам, Кумар (2017-08-18), teem-trello-webhook-server: сервер, который отслеживает изменения в модели доски Trello и одновременно обрабатывает их в объектной модели SwellRT., получено 2017-10-28
  51. ^ «Европейская комиссия: CORDIS: Новости и события: существенный импульс для простого и безопасного создания новых онлайн-приложений». cordis.europa.eu. Получено 2017-10-28.
  52. ^ «JetPad». jetpad.net. Получено 2017-10-28.
  53. ^ Спешите, грубо (2017-04-23). «Заметки о том, как P2P спасет мир»"". RoughHaste. Получено 2017-10-28.
  54. ^ «Сотрудничество, которое не дает другим лицензии на распространение ваших материалов». Horizon: журнал исследований и инноваций ЕС. Получено 2017-10-28.
  55. ^ "Una app para invucrar a más gente en proyectos colaborativos - El salmón contracorriente". www.elsalmoncontracorriente.es (на испанском). Получено 2017-10-28.
  56. ^ "Teem". Команда. Получено 2017-10-28.

внешняя ссылка