Вы ищете новый способ создания веб-приложений?
Более эффективный способ быстро создать полезное веб-приложение для внутренних API?

В последние несколько месяцев я имел удовольствие работать с SkyMass над несколькими проектами, которые шли неплохо. Вместо того, чтобы каждый раз заново изобретать велосипед, запуская приложение ReactJS и начиная (почти с) нуля, я мог бы быстро объявить с помощью SkyMass основные компоненты и что-то сделать за часы/дни, а не недели/месяцы.

Что?

SkyMass или UI как услуга — это революционно новая платформа, которая позволяет разработчикам быстро и легко создавать веб-приложения с меньшим количеством кода.

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

Зачем вам создавать собственное хранилище (например, AWS S3) или вычислительные серверы, на которых работают контейнеры (например, AWS Lambda или GCP Cloud Run)?

По той же логике, зачем вам создавать свой пользовательский интерфейс с нуля?

Вот где SkyMass приходит на помощь.

Вы получаете готовый UI/UX со всеми передовыми практиками:

  1. Производительность — SkyMass обслуживает ваш пользовательский интерфейс, поэтому вам не нужно беспокоиться о масштабировании, балансировщиках нагрузки и кэшировании на периферии.
  2. Макет — сетка, мобильная версия, сложные компоненты, такие как таблицы, карты.
  3. Безопасность — аутентификация, шифрование, обновления.
  4. Постоянные обновления.Каждая новая версия библиотек, которые вы используете в своем проекте, будет постоянно обновляться. Это улучшает не только производительность интерфейса, но и безопасность.
  5. Хостинг. Да, вам не нужно беспокоиться о настройке и защите сервера. Прелесть SkyMass в том, что вам нужно инвестировать только в свои API, и вы все равно это делаете, верно?

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

Расскажи мне больше

SkyMass — это бессерверная платформа, которая позволяет разработчикам создавать веб-приложения с минимальной настройкой и настройкой. Он будет поддерживать различные языки программирования, включая JavaScript, Python и Java.

На данном этапе он поддерживает JavaScript/TypeScript.

Одним из основных преимуществ SkyMass является возможность быстро и легко создавать веб-приложения с меньшим количеством кода, чем в традиционных приложениях ReactJS/VUE/Angular.

Например, приложение ReactJS требует от разработчика написания кода для создания компонентов, настройки маршрутизации и настройки состояния. С помощью SkyMass разработчик может создать такое же веб-приложение с помощью нескольких строк кода. Код написан в декларативном стиле, что облегчает его чтение и понимание.

Когда мы говорим о меньшем количестве кода, обычно это в 10 раз меньше. Мы знаем, что вы читаете код гораздо больше, чем пишете его, поэтому преимущество здесь усложнит жизненный цикл вашего приложения.

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

Покажи мне код

Давайте посмотрим, как мы можем создать приложение с примерно 50 строками кода, которое дает нам полную функциональность «привет мир» мира JS: «Приложение ToDo».

Установить

mkdir skymass & cd skymass
npm init -y
npm install @skymass/skymass

Классический привет, мир

import { SkyMass } from "@skymass/skymass";
const sm = new SkyMass({ key: process.env["SKYMASS_KEY"] });
sm.page("/hello_world", (ui) => {
  const name = ui.string("name", {
    label: "Please type your name",
  });
  ui.show(`Hello, ${name.val || "World"}!`);
});

Да! Вы можете видеть, что у нас есть двусторонняя привязка из коробки.

Вы можете запустить его самостоятельно и начать взламывать его со следующим:

SKYMASS_KEY=<your_skymass_key> npx nodemon hello.mjs

Еще немного — Приложение ToDo

import { SkyMass } from "@skymass/skymass";
const sm = new SkyMass({ key: process.env["SKYMASS_KEY"] });
let id = 1;
const TODOS = [
  { id: id++, todo: "Buy milk", priority: "low", done: false },
  { id: id++, todo: "Set up webserver", priority: "med", done: false },
  { id: id++, todo: "Build SkyMass app", priority: "high", done: true },
];
function addTodo({ todo, priority }) {
  TODOS.push({ id: id++, todo, priority, done: false });
}
function updateTodo(id, done) {
  const index = TODOS.findIndex((todo) => todo.id === id);
  if (index !== -1) TODOS[index] = { ...TODOS[index], done };
}
function deleteTodo(id) {
  const index = TODOS.findIndex((todo) => todo.id === id);
  if (index !== -1) TODOS.splice(index, 1);
}
sm.page("/todo", async (ui) => {
  ui.md`### ✅ Todo List`;
  // 👉 Use a form to group todo, priority and the add button
  const newTodo = ui.form("new_todo", {
    fields: {
      todo: ui.string("todo", {
        placeholder: "New todo",
        required: true,
      }),
      priority: ui.radioGroup("priority", {
        options: ["low", "medium", "high"],
        label: "Priority",
        defaultVal: "medium",
      }),
    },
    action: ui.button("add", { label: "Add" }),
  });
  // 👉 A much nicer way to handle clicks/events
  if (newTodo.didSubmit) {
    addTodo(newTodo.val); // e.g. { todo: "...", priority: "medium"}
  }
  const todoList = ui.table("todo_list", TODOS);
  const [selectedTodo] = todoList.selection;
  // Handle the 'done' action
  const doneBtn = ui.button("done", { label: "Mark as Done" });
  if (selectedTodo && doneBtn.didClick) {
    updateTodo(selectedTodo.id, false);
  }
  // Handle the delete action
  const delBtn = ui.button("del", { label: "Delete" });
  if (selectedTodo && delBtn.didClick) {
    deleteTodo(selectedTodo.id);
  }
});

Это всего около 50 строк кода, и у нас есть веб-приложение, которое содержит уровень данных, операции CRUD и даже вход в систему (в SkyMass вы получаете его «бесплатно» — вам не нужно его кодировать).

Приложение использует компонент ui.form. Вы видите, насколько просто использовать форму и получать из нее события пользователя.

Если вам интересно, попробуйте заменить модель данных, которую мы разместили (в строке 6), на вашу собственную базу данных.
Одной из сверхспособностей SkyMass является способность работать с любым доступным источником данных. Если вы хотите увидеть полный пример использования Postgres — вот вам один.

Нижняя граница

В заключение, SkyMass — это революционно новая платформа, позволяющая разработчикам создавать веб-приложения с меньшим количеством кода. Это отличный способ начать веб-разработку и идеально подходит для разработки веб-приложений, требующих сложной интеграции данных. Итак, вам нужны таблицы (с сортировкой, фильтрацией, поиском из коробки), диаграммы и какие-то формы.

По сути, мы говорим здесь о 90% бизнес-приложений, которые вы хотели бы видеть, не так ли?

Почему бы не попробовать это в своем следующем проекте веб-приложения?

Вы можете начать с этого простого примера, чтобы создать веб-приложение CRUD.

Будь сильным 👊🏽