{"id":16109026,"url":"https://github.com/tripolskypetr/material-ui-umd","last_synced_at":"2026-02-28T12:11:29.120Z","repository":{"id":156633200,"uuid":"266333311","full_name":"tripolskypetr/material-ui-umd","owner":"tripolskypetr","description":"Разработка ui на React используя как систему сборки только TypeScript Compiler. Примеры кода, инструменты, umd дистрибутив библиотеки material-ui с файлом описания пространств имен глобального объекта","archived":false,"fork":false,"pushed_at":"2021-08-26T11:47:50.000Z","size":68810,"stargazers_count":14,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T13:52:11.918Z","etag":null,"topics":["material-ui","material-umd","react","standalone","typescript","typescript-compiler","typescript-namespaces","webpack-free"],"latest_commit_sha":null,"homepage":"http://theonekit.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tripolskypetr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-23T12:36:05.000Z","updated_at":"2023-12-12T08:54:12.000Z","dependencies_parsed_at":"2023-07-12T03:15:36.483Z","dependency_job_id":null,"html_url":"https://github.com/tripolskypetr/material-ui-umd","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/tripolskypetr/material-ui-umd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripolskypetr%2Fmaterial-ui-umd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripolskypetr%2Fmaterial-ui-umd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripolskypetr%2Fmaterial-ui-umd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripolskypetr%2Fmaterial-ui-umd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tripolskypetr","download_url":"https://codeload.github.com/tripolskypetr/material-ui-umd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripolskypetr%2Fmaterial-ui-umd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29933120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T09:58:13.507Z","status":"ssl_error","status_checked_at":"2026-02-28T09:57:57.047Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["material-ui","material-umd","react","standalone","typescript","typescript-compiler","typescript-namespaces","webpack-free"],"created_at":"2024-10-09T19:29:28.527Z","updated_at":"2026-02-28T12:11:29.112Z","avatar_url":"https://github.com/tripolskypetr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# material-umd\n\n\u003e UMD дистрибутив ui тулкита [material-ui](https://github.com/mui-org/material-ui), поставляемый вместе с файлом описания типов typescript с пространствами имен глобального объекта. В комплекте свой роутер и генератор форм на основе json шаблона. Вы можете посмотреть [демо по ссылке](https://theonekit.github.io/)\n\n![rkn](assets/img/rkn.png)\n\n*Описание, при чем тут Роскомнадзор ниже по тексту*\n\n## Ссылки\n\n**Документация инструмента**\n\n - [Генератор форм на основе JSON шаблона](./lib/form-tools/README.md)\n - [Офлайн-копия сайта с документацией](packages/offline-docs/README.md)\n - [Создать свой umd дистрибутив](packages/how-it-is-made/README.md)\n - [Применение вместе с WordPress на ванильном JavaScript](packages/wordpress-interop/README.md)\n - [Пикеры даты и времени](packages/amazing-pickers/README.md)\n - [Использование Redux](packages/redux-app/README.md)\n - [Использование Mobx](packages/mobx-app/README.md)\n\n**Лекции для новичков**\n\n - [Заметки по курсу лекций React](packages/react-lessons-notes/README.md)\n - [Заметки по курсу лекций JavaScript](packages/javascript-lessons-notes/README.md)\n\n**FAQ**\n\n - [FAQ](./HOWTO.md)\n\n## Брифинг\n\nНачиная с версии 16.8 в React доступен хук [useReducer](https://reactjs.org/docs/hooks-reference.html#usereducer), реализующий паттерн [state reducer pattern](https://redux.js.org/). Как следствие, библиотека все больше начинает походить на полноценный фреймворк со своей методологией программирования. Отличительной особенностью так и остается миниатюрность: [легко интегрировать в другие решения](reactjs.org/docs/web-components.html#using-react-in-your-web-components), простейший к пониманию и легкий к отладке код прикладного программиста.\n\nОднако, существующие системы сборки проектов назвать миниатюрными никак нельзя. Вследствие их основанности на конвейере микро-утилит, каждая из которых имеет зависимости на обособленных интернет-ресурсах, велик риск их не разрешения: проект фантомно перестает собираться. Например, такое произошло со студенческими проектами после [удаления бинарных дистрибутивов](https://github.com/sass/node-sass/issues/1911) старых версий node-sass.\n\nДля фриланса, мне нужно сочетать простоту и миниатюрность как на этапе исполнения, так и во время сборки. Если я буду тратить все свое время на мониторинг зависимостей, мне некогда будет заниматься разработкой. Однако, мне очень нравится React и я не намерен возвращаться к временам Bootstrap и jQuery.\n\n## А при чем тут роскомнадзор?\n\nОно бы все ничего, но те самые удаленные ресурсы, от которых зависит сборка проекта, размещаются на тех же облачных сервисах, что и зеркала [Telegram](https://en.wikipedia.org/wiki/Telegram_(software)). В итоге, помимо прекращения поддержки со временем и [устаревании ссылок](https://en.wikipedia.org/wiki/HTTP_404), лично я натыкался на ошибки вида [451](https://en.wikipedia.org/wiki/HTTP_451), что печально, так как нужно тратить время на поиск vpn.\n\n## А есть ли альтернатива?\n\nЕсть! Мы можем использовать как сборщик модулей только [TypeScript](https://www.typescriptlang.org/). У него есть специальная синтаксическая конструкция, [\"namespace\"](https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html#using-namespaces), которая транспилируется в замыкание. Компилятор конкатенирует замыкания из разных модулей в один файл, в результате чего получается работоспособная программа. Сам TypeScript Compiler [написан](https://github.com/microsoft/TypeScript/blob/master/src/compiler/core.ts) на namespaces и не имеет сторонних зависимостей.\n\n![open-source-logo](assets/img/open-source-logo.png)\n\nМне не нравится вектор развития, выбранный TC39 языку JavaScript. На мой взгляд, модули, подгружаемые по ссылке с сервера (как это уже сделано в [Deno](https://denocode.com/)) делают мой код не моим. У меня возникает ощущение, что программист становится расходником для фреймворков, которыми владеют крупные корпорации. Пожалуйста, если вы расходник, закройте эту страницу.\n\n## Где можно посмотреть примеры кода?\n\nВ папке packages будут размещаться приложения, написанные с этим инструментарием. **Особое внимание** следует уделить [form-generator-app](./packages/form-generator-app/STUDENTS.md), в этом проекте я использую генератор форм на основе *json-схемы* и роутер, разработанный специально для `material-ui-umd`. В этой же папке можно найти офлайн копию документации...\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftripolskypetr%2Fmaterial-ui-umd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftripolskypetr%2Fmaterial-ui-umd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftripolskypetr%2Fmaterial-ui-umd/lists"}