Обзор фреймворка Total.js (Node.js/JavaScript)

Node.js, Total.js 06 ноября 2019 1 мин. 3025


Моё знакомство с Total.js началось в 2015 году. Я использовал его во многих своих проектах и с каждым разом узнавал и понимал его все лучше и лучше. Конечно же, я как опытный программист пытался использовать и другие фреймворки такие как Express.js и Koa.js, не буду много писать о них, так как информации предостаточно в интернете и популярностью они не обделены, в отличии от Total.js. И я не понимаю почему такой удобный, понятный и простой фреймворк Total.js не так популярен, как другие. Хочется воздать ему должное и попытаться его популяризировать среди разработчиков хотя бы в России.


фреймворк Total.js

Фреймворк Total.js

Total.js был создан программистом из Словакии Питером Ширка в 2013 году. Тогда в 2013 году Node.js только набирал популярность. Основная идея разработчика была - создание ядра, которое имело бы большой базовый функционал, при этом не нужно было бы устанавливать большое количество дополнительных зависимостей, в отличие от Express.js, который имеет небольшой объем базового функционала, а расширять нужно за счет внешних модулей. Total.js можно также расширять за счёт разных модулей из npm. Артхитектура Total.js мне чем-то напоминает Rails для языка Ruby или фремворк Laravel для PHP. Мне очень понравилась документация к этому фреймворку, а также то что автор позаботился о разработчиках и написал большую коллекцию примеров более 100 штук.

Возможности

  • Встроенная NoSql база данных - небольшая БД с отличными инструментами аналитики и невероятной производительностью
  • Шаблонизатор View Engine - условия, циклы, локализация и т.д.
  • Схемы - контроль входящих данных и их последующая обработка
  • Автоматическое сжатие для всех .js, .html и .css
  • Кластеризация процессов
  • Unit-тестированиe
  • Отправка почты SMTP
  • Websocket
  • Локализация
  • Потоковая передача медиа
  • Хелперы для работы со строками, числами, массивами и датами
  • Темы

Маршрутизация

Total.js поддерживает классические маршруты, динамические маршруты, а также маршруты с использованием регулярных выражений. Вы можете написать свои собственные маршруты для динамического контента, файлов или WebSocket.

Маршруты объявляются в контроллерах, и каждый маршрут определяет обработчик для желаемого действия. Маршруты также поддерживают флаги. С помощью флагов можно определить специальное поведение, например, HTTP-метод , CORS , схема, промежуточная обработка и т.д.


Шаблонизатор

Встроенный шаблонизатор поддерживает множество функций при этом обладает отличной производительностью.



  • Layouts
  • Условия, циклы и хелперы
  • Вложенные представления
  • Секции

Html+Css+Js сжатие

Вам не нужны Gulp, Grunt, WebPack или что-то еще. Total.js имеет встроенный механизм динамического сжатия JavaScript, CSS и HTML.


  • Сжатии и объединение JavaScript и CSS файлов
  • Встроенное сжатие JavaScript и CSS в шаблонизаторе
  • CSS-переменные + вложенные селекторы, такие как SASS, CSS авто-префиксы
  • Сжатие HTML

Total.js CLI

Если Total.js установлен как глобальный модуль NPM, вы можете использовать Total.js CLI, который называется totaljs.


  • Поддерживает локализацию (создание, изменение, объединение и т. Д.)
  • Поддерживает локальный веб-сервер
  • CSS-переменные + вложенные селекторы, такие как SASS, CSS авто-префиксы
  • Может минимизировать JavaScript, CSS и HTML-файл

Total.js как платформа...

Total.js стал целой платформой к тому же бесплатной и теперь воспользовавшись этими инструментами запустить своё приложение станет ещё проще и быстрее. Все open source проекты которые Вы можете использовать в своей эко-системе:

SuperAdmin
SuperAdmin

Cистема управления node.js приложениями (не только с total)

  • Создание сертификатов SSL с обновлением
  • SMS и электронная почта
  • Идентификаторы персонального доступа для API
  • Простая интеграция с GIT
  • Автоматическое резервное копирование через FTP

Node.js cms
Node.js CMS

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


OpenPlatform
OpenPlatform

Корпоративный контейнер для сторонних приложений. OpenPlatform - это простая платформа для запуска, интеграции и управления несколькими сторонними веб-приложениями. Предоставляет запущенным приложениям набор сервисов, таких как управление пользователями и безопасностью, поэтому программисты могут просто сосредоточиться на бизнес-логике. Напримр, на базе данного решения можно разрабатывать свою корпоративную CRM.


OpenPlatform
Node.js Messenger

Отличная и бесплатная альтернатива Slack с похожим функционалом. Небольшое, быстрое веб-приложение с открытым исходным кодом, которое вы можете настроить в соответствии со своими потребностями.


OpenPlatform
Flow

Визуальный интерфейс программирования для обработки данных в реальном времени. Предназначен для Интернета вещей, а также классических веб / REST-приложений и многого другого. Его также можно добавить в любое существующее приложение Total.js ( framework + 2.5.x).


Node.js Eshop
Node.js Eshop

Решение для электронной коммерции малого бизнеса, написанное на Node.js. Полноценный магазин построенный на платформе другого инструмента от Total.js CMS. Из cms здесь также есть наборы виджетов, редакторы постов. Как и в любом полноценном магазине здесь реализован функционал для поиска и редактирования товаров и заказов, плюс paypal для оплаты.


Node.js HelpDesk
Node.js HelpDesk

Решение поможет решить проблемы ваших клиентов гораздо быстрее. Зарегистрируйте своих клиентов в системе и выделяйте им предоплаченные ежемесячные минуты. Их проблемы могут быть легко решены Вашей группы поддержки.


Node.js Wiki
Node.js Wiki

Простой инструмент / приложение для создания документации в форме Wiki. Документы создаются с помощью формата Markdown.


Поддержка

Как я ранее писал, фреймворк сам по себе бесплатный, инструменты и приложения также бесплатные. Но для тех кому нужна профессиональная поддержка и консультации могут ими воспользоваться, для разработчиков это 8 € в год, для больших комманд 70 € в год.


Итак, я буду очень рад тому, если я смог кого-то заинтересовать фреймворком Total.js. Это реально крутой инструмент. Вы сможете улучшить качество Ваших продуктов, а также уменьшите время на их разработку.
На страницах своего блога хочу попробовать, разработать какой-нибудь Web приложение с использованием фреймворка Total.js, сейчас нахожусь в раздумьях, что можно будет сделать. Если у вас будут предложения, идеи, что можно сделать полезного пишите, оставляйте комментарии.
Спасибо за внимание!


Ссылки:

Категории