Обзор проектов в экосистеме Free TON (Часть 1)

Обзор проектов в экосистеме Free TON (Часть 1)

GramKit

Давайте разберемся, на каких технологиях строятся проекты Free TON, и что команды предпочитают использовать для создания сайтов и приложений.

Для начала рассмотрим основные проекты экосистемы

Разработчики TON Labs для создания сайтов и приложений предпочли использовать язык программирования JavaScript и стек, в основе которых лежат фреймворки React и React Native.

  • React — это одна из самых популярных в мире библиотек для создания пользовательских интерфейсов. На момент написания статьи количество звезд на GitHub почти достигло 170 тыс (6 место среди всех репозиториев, включая сборники).
  • React Native — это кроссплатформенный фреймворк для разработки нативных мобильных и настольных приложений на JavaScript и TypeScript. Оба фреймворка были созданы компанией Facebook.

Хитрость TON Labs заключается в использовании библиотеки React Native Web (RNW), которая позволяет писать один код для создания и веб, и мобильных приложений одновременно. Для примера, с помощью RNW созданы клиентские приложения Twitter.

Для взаимодействия с блокчейном команда выбрала GraphQL — язык запросов, используемый клиентскими приложениями для работы с данными, независимо от источников их изначального хранения. Среди преимуществ GraphQL:

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

На данном стеке были реализованы как минимум

Стоит отметить, что часть из упомянутых приложений работают сравнительно хорошо (например, TON Surf), а вот к некоторым имеются вопросы! Мы рассмотрим в следующей статье юзабилити и впечатления от использования данных сервисов. В рамках данной статьи ознакомимся только со стэками разработки.


Какие технологии используются помимо React?

Сайт блога (https://blog.freeton.org) реализован на CMS WordPress

  • CMS (Content Management System) — это программное обеспечение, позволяющее управлять контентом сайта: создавать и публиковать записи, размещать виджеты, менять дизайн, редактировать различные элементы, добавлять функционал и т. д.
  • Использование CMS позволяет сократить время при разработке сайтов, однако иногда бывает сложно адаптировать ее под свои нужды
  • WordPress — самая популярная CMS в мире. Последние статистические данные показывают, что на долю WP приходится около 32% всех сайтов
  • Несмотря на то, что с помощью WordPress можно создавать сайты любой тематики, изначально эта система была заточена под блоги. Исходя из этого, выбор WordPress в качестве основы для блога Free TON — это хорошее решение

Сайт форума (https://forum.freeton.org) реализован на CMS Discourse

  • Discourse — это интернет-форум с открытым исходным кодом и программное обеспечение для управления списком рассылки, созданное в 2013 году
  • Выбор Discourse очевиден — за кратчайшие сроки можно получить полноценный форум со множеством готовых функций. Из минусов — не уникальный дизайн, шаблонное решение.

Рассмотрим еще несколько проектов

ExtraTON (https://extraton.io/)

— это набор децентрализованных приложений FreeTON для хранения кристаллов, стейкинга, создания и подписания транзакций.

Фронтенд:

  • Язык программирования: JavaScript
  • Фреймворк: Vue
  • Связь с API: GraphQL

Бэкенд (для некоторых приложений):

  • Язык программирования: PHP
  • Фреймворк: Symfony
  • А еще команда представила альтернативу TON Surf — расширение extraTON для браузера Google Chrome (Написан также на JS и Vue).

TON Swap (https://tonswap.com/  - https://github.com/SVOIcom/tonswap-frontend)

— это победитель в конкурсе на первый этап разработки децентрализованной биржи (DEX) на блокчейне Free TON.

  • Язык программирования: JavaScript
  • Фреймворк: Не используется
  • Связь с API: GraphQL

TON Crystal Wallet (https://github.com/broxus/wallet-desktop)

— это кошелек позволяющий проводить операции с TON Crystal. На данный момент поддерживает Windows 7+, macOS 10.12+ и Ubuntu 14.04+

  • За основу взят кошелек Test Gram Wallet
  • Языки программирования: C++ и Python


Выбор стека технологий несомненно является одним из важных параметров процесса разработки, однако работоспособность и юзабилити проектов - более важные аспекты! Именно их мы и рассмотрим в одной из следующих статей – подписывайтесь на канал, чтобы не пропустить новую статью!


Report Page