1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/TheColdVoid-MIAO-java

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README-EN.md

Что такое MIAO?

MIAO («Miao Is A web demO generator», произносится /mjɑʊ/) — это ненавязчивый генератор веб-демо, который быстро преобразует функцию или фрагмент кода в веб-интерфейс пользователя для временных демо или тестов без сложной настройки.

MIAO не является веб-фреймворком, его фокус сильно отличается от веб-фреймворка. MIAO в основном используется для создания небольших временных демо или небольших онлайн-инструментов, а не для использования в производственных средах, и не рекомендуется для официальных проектов.

MIAO — это компромисс между гибкостью и простотой использования, в основном направленный на предоставление удобного, готового к использованию временного веб-генератора демо без предоставления слишком большой конфигурации и пользовательских функций UI/взаимодействия, и в отличие от веб-фреймворков, таких как «Контроль разрешений», «Маршрутизация», «Рендеринг шаблонов», «Сеанс» и другие функции.

Небольшое временное демо можно создать быстро всего за три шага.

  1. Импортировать библиотеку.
  2. Добавить аннотации.
  3. Запустить сервер.

В настоящее время MIAO поддерживает только Java и Python, поддержка других языков (таких как Golang, Haskell) будет добавлена позже, так что следите за обновлениями.

Как использовать? Этот инструмент ещё не полностью разработан, в настоящее время можно использовать только некоторые основные функции, остальные функции планируется реализовать в разделе «Дорожная карта» позже.

В pom.xml (Maven):

<dependencies>
    <dependency>
        <groupId>cn.voidnet</groupId>
        <artifactId>MIAO</artifactId>
        <version>0.0.10</version>
    </dependency
</dependencies>

Или вы можете перейти в раздел «Release» и загрузить jar-файл, чтобы добавить его в каталог внешних библиотек зависимостей вашего проекта.

Затем просто добавьте аннотацию @WebDemo к функции, для которой вы хотите сгенерировать интерфейс (очевидно, только статические функции).

      @WebDemo
    public static int getRandomNumber(int min, int max) {
        return new Random().nextInt(max - min + 1) + min;
    }

Наконец, в основной функции (или где угодно, где вы хотите запустить службу) просто запустите серверную часть инструмента.

    public static void main(String[] args) {
        MIAO.start();
    }

Функция start() будет блокироваться при выполнении, поэтому поместите эту строку кода после остальной части вашего кода в main или откройте новый поток для обслуживания этого инструмента.

Тогда вы сможете автоматически генерировать временное демо следующим образом. !

Нажмите «Выполнить», чтобы выполнить и получить возвращаемое значение: !

!

Конечно, этот инструмент также предоставляет некоторые простые параметры настройки, например, вы можете изменить имена параметров функции и т. д.: !

@WebDemo("Add two numbers")
public static double add(
        @Parameter("operand1") double opr1,
        @Parameter("operand2") double opr2
) {
    return opr1 + opr2;
}

! Название выше также можно изменить с помощью следующих параметров:

MIAO.start("Cat Ear Switch Controller");

[image:7698089C-E420-4322-BC71-4E2D3D77EA28-33798-00012951A6E99FCB/4C9314FA-D50A-4DC9-8D5A-285070BF659B.png]

Дополнительные элементы настройки будут добавлены в будущем (например, способ отображения возвращаемых значений, возможность выбора параметров из необязательных и т.д.).

PS: Если вы используете Gradle, пожалуйста, добавьте mavenCentral() в репозитории, а затем представьте эту библиотеку.

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

PPPS: Поскольку этот инструмент ещё не доработан, в настоящее время поддерживаются только базовые типы данных для параметров функций и возвращаемых значений. Поддержка «изображений», «таблиц», «диаграмм», «объектов», «файлов», «видео», «функциональных изображений» будет добавлена позже, см. раздел «Дорожная карта». Что означает название? MIAO — аббревиатура от «Miao Is A web demO generator» и китайский слог, используемый для описания. MiaoLib: инструмент для создания быстрых демонстраций и пользовательских интерфейсов

Звук кошачьего мурлыканья (мяу, произносится /mjɑʊ/), похож на «meow» и «にゃ» (≧∇≦).

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

Некоторые примеры

<Здесь должен быть пример кода>.

<Здесь должно быть изображение пользовательского интерфейса>. Возможные примеры: переход от Maven к Gradle.

Различия в фокусе между MIAO и веб-фреймворками

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

  1. Вы хотите показать наполовину готовый проект коллегам или друзьям временно, используя командную строку, это не очень интуитивно понятно, а иногда и не очень удобно, особенно для тестовых пользователей, которые не знакомы с компьютером, но также нужно потратить некоторое время, чтобы объяснить использование командной строки. Пустой пользовательский интерфейс командной строки не подходит для временных демонстрационных целей. И если вы и зритель демонстрации находитесь в разных местах (например, онлайн-презентация в интернете), вам часто также нужен инструмент типа удалённого рабочего стола/конференц-связи для помощи в демонстрации, слишком много хлопот. Написание другого специального фронтенд-приложения для этой цели было бы пустой тратой времени. Для этого сценария вы используете этот инструмент для генерации временной демонстрации и размещаете её на сервере (или на локальном компьютере, если он находится в той же интрасети), другие могут напрямую получить доступ к вашей временной демонстрации, введя URL на своих компьютерах или мобильных телефонах, что очень удобно!
  2. Вы разработали новый инструмент или библиотеку (например, распознавание лиц, обнаружение целей и т. д.) и хотите превратить свои академические результаты в интерактивную демонстрационную программу для использования другими людьми или для академического общения, вы можете внедрить эту библиотеку в свой код Python или Java, чтобы автоматически генерировать веб-демонстрации (поддержка диаграмм и т. п. будет добавлена позже) без написания фронтенд-кода.
  3. Вы хотите создать несколько небольших инструментов для онлайн-использования, таких как форматирование текста, улучшение лица, создание смайликов, двоичное преобразование, распознавание текста, инструменты тегов и т. д., но использовать фронтенд-технологии (веб или нативные) для разработки неудобно, или вы не знакомы с фронтенд-технологиями. Вы можете использовать эту библиотеку для создания фронтенд UI (поддержка загрузки изображений/файлов и возврата значений будет добавлена позже), вместо того чтобы писать фронтенд-приложение, экономя ваши затраты на разработку.
  4. Вы разрабатываете некоторые встроенные приложения (например, IoT, домашняя автоматизация и т. д.), и вы хотите, чтобы пользователи получали доступ к вашему приложению удалённо через интернет для выполнения некоторых простых операций (например, включение света, выключение света, регулировка яркости и т. д.). Вы можете написать управляющую программу на устройстве с поддержкой Python (например, Raspberry Pi), а затем добавить эту библиотеку, чтобы создать веб-страницу управления. Сэкономьте расходы на разработку фронтенд части.

Дорожная карта

Следующие функции будут добавлены в этот инструмент шаг за шагом. Если вас интересует этот проект, вы также можете внести свой вклад в код этого проекта, разветвив и отправив PR.

  • Проверка типов фронтенда.
  • Поддержка нескольких языков.
  • Больше юнит-тестов.
  • Поддержка типа «файл» для аргументов и возвращаемых значений.
  • Поддержка типа List для аргументов и возвращаемых значений.
  • Поддержка языка Python.
  • Улучшения версии Python.
  • Аннотации типов для версии Python.
  • Поддержка объекта типа для возвращаемого значения, например, возврат объекта напрямую и отображение его в виде дерева в пользовательском интерфейсе (вы также можете открыть диалоговое окно, чтобы показать детали).
  • Поддержка нового элемента настройки: представление нескольких результатов возврата в таблице, то есть каждый результат возврата представляет собой строку, каждое свойство результата возврата — это другой столбец, и несколько результатов возврата образуют таблицу.
  • Параметр и поддержка возвращаемого значения типа «изображение».
  • Модификация стиля UI theme_color.
  • Простой механизм аутентификации по паролю, например, при входе в пользовательский интерфейс требуется пароль, но он не должен быть слишком сложным.

Вопросы и ответы

Будет ли больше возможностей для настройки?

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Miao Is A web demO generator Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/TheColdVoid-MIAO-java.git
git@api.gitlife.ru:oschina-mirror/TheColdVoid-MIAO-java.git
oschina-mirror
TheColdVoid-MIAO-java
TheColdVoid-MIAO-java
master