Но можно пойти другим путём, как это сделал TypeScript: создать язык, который компилируется в уже существующий, добавляя свои функции и фишки.
Именно с такой идеей я создал тестовый проект PrettyScript — язык, похожий на JS, но с дополнительными классами, функциями и встроенной реактивностью. Вскоре я покажу, как он устроен, и приведу примеры кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
УМИРАЕТ ЛИ FRONT-END В 2026 ГОДУ? 😱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1🥰1
🧨 Edge-case игнор
- данные пришли → всё ок
- кнопка нажалась → всё работает
НО забывают про: пустые данные, частичные ответы API, повторные клики, undefined/null состояния...
И именно это потом ломает продакшн
🧨 Слишком ранняя оптимизация архитектуры
- новички часто пытаются сразу внедрить сложные паттерны
- идеально разделить папки
- сделать "как у Google"
Не нужно спешить сллишком рано и переусложнять код
🧨 Игнорирование асинхронности (или неправильное понимание)
- забывают await
- не понимают race conditions
- делают запросы и сразу используют данные
Как итог: undefined, странные баги, которые не повторяются, "гонки" состояний. В вебе почти всё — асинхронное (API, DOM, таймеры)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
Идеей служил популярный TypeScript, который был создан Microsoft как JS, но с типами.
Я решил, что было бы круто попробовать реализовать свой язык, конечно же, используя движок js для компиляции, и именно по этому PS может тоже принимать ванильный js.
Конечно, я подумал над оптимизацией, по этому я использовал все средства, который мне предоставляет JS, что бы максимально сократить время выполнение скриптов: Function вместо обычного eval, кеширование, минификация (с помощью Terser, но можно и отключить), замеры времени запуска... Сейчас простенький React скрипт запускается меньше чем за 2мс без использования средств минификации.
Картинку, которую я прикрепил - это еще один пример кода на ps: я добавил типы и их проверку, а так же "strict" режим, который можно вложить в код с помощью "use" который будет смотреть на код и указывать на способы его оптимизации. Как пример - при "use strict" язык ищет незаюзанные переменные и выдает ошибку
Спасибо, что следите! Для меня это мотивация развиваться дальше
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5😇2👍1
Недавно, я выкладывал видео, в котором мельком показал свой сервис GOLink который полностью сделал с нуля за 2 недели используя GOLang и ванильный JS.
Как я сказал в видео - я не задумывал его как полноценный отдельный самостоятельный сервис, а часть кое-чего большего, о чем вы узнаете, если будете следить за мои путем
Сервис представляет из себя сайт, на котором при наличии регистрации можно создать до 4 страниц, на каждой из которых может быть до 5 любых ссылок. Это что-то типо Linktree, но с более приемлемым дизайном и с большей кастомизацией. Я так же продумал платную подписку на расширение лимитов и доп. фич, но так как это немного не допиленный проект - подписку никак не купить
В качестве доказательства того, что это мой проект - я показываю свой профиль с верификацией. Сервис не очень доделан, но я займусь им в ближайшее время
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🌚1🏆1
По большому счету ничего, но я отметил большую скорость загрузки и более минималистичный интерфейс, который не нагружает глаз. Расширения тоже есть, но, вероятно, у них не такой рендж как у VSCode, но я увидел очень много полезных и современных.
Я вероятно возьму именно его за референс когда буду допиливать свою IDE.
Единственное, что из таких мини-минусов выбивается — слишком большой шрифт при начале и вкладка с файлами а правом углу, вместо левого как у vscode
А какой редактор предпочитаете вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1❤🔥1🤗1
💡 МОЯ САМАЯ СЛОЖНАЯ РАЗРАБОТКА - IDE "CodeMotion"
Начнем с того, что я заметил, что нет универсального "нативного" решения для веб-разработчиков. Я сейчас говорю не о фронтенде, а о бекенде и всей веб сфере в целом.
Так как у меня стаж позволяет, я могу на своем опыте создать хорошую IDE для веб-разработки, что бы новичкам было проще вкатится в веб, и уже опытные могли использовать мою программу как полезный инструмент.
Главная фича IDE сейчас - это встроенные решения для веба (back/front) и совместимость:
- Real-time JS дебаггер (при помощи Acorn)
- Поддержка всех ОС (Windows, Linux, MacOS)
- Нативная поддержка Python (если у вас установлен py, то вы можете запускать код прямо в IDE)
- встроенный Live-server для HTML файлов
Из других фич, не связанных с вебом, я бы хотел выделить:
- Встроенный лог багов от вашей команды или других разработчиком (Командная работа)
- Встроенные команды, которые позволяет сортировать баги и логи
- Встроенные комментарии, которые появляются иконкой прямо в редакторе, и вы можете их редактировать или удалять
- Нативные решения по типу встроенных "цветных комментариев" для кода, что бы разработчики могли общаться более выражено
IDE до сих пор в разработке, я не собираюсь ее забрасывать и по этому вы можете легко предложить свои улучшению на любую тему: дизайн, функционал...
Этот пост служит как поле для таких комментариев
Начнем с того, что я заметил, что нет универсального "нативного" решения для веб-разработчиков. Я сейчас говорю не о фронтенде, а о бекенде и всей веб сфере в целом.
Так как у меня стаж позволяет, я могу на своем опыте создать хорошую IDE для веб-разработки, что бы новичкам было проще вкатится в веб, и уже опытные могли использовать мою программу как полезный инструмент.
Главная фича IDE сейчас - это встроенные решения для веба (back/front) и совместимость:
- Real-time JS дебаггер (при помощи Acorn)
- Поддержка всех ОС (Windows, Linux, MacOS)
- Нативная поддержка Python (если у вас установлен py, то вы можете запускать код прямо в IDE)
- встроенный Live-server для HTML файлов
Из других фич, не связанных с вебом, я бы хотел выделить:
- Встроенный лог багов от вашей команды или других разработчиком (Командная работа)
- Встроенные команды, которые позволяет сортировать баги и логи
- Встроенные комментарии, которые появляются иконкой прямо в редакторе, и вы можете их редактировать или удалять
- Нативные решения по типу встроенных "цветных комментариев" для кода, что бы разработчики могли общаться более выражено
IDE до сих пор в разработке, я не собираюсь ее забрасывать и по этому вы можете легко предложить свои улучшению на любую тему: дизайн, функционал...
Этот пост служит как поле для таких комментариев
❤6❤🔥3🔥2
Я очень люблю веб, и всегда была идея, еще очень давно создать свой язык программирования на основе JS как движка
Конечно, я думал о том, что бы полностью написать свой собственный парсер и на основе его уже делать логику, но один я бы никогда не сделал бы многофункциональный язык, темболее на JS
У меня до сих пор есть цельный проект моего языка и я думаю видно, что референсом служил JS =)
Идея языка была в том, что бы рендерить HTML и задавать его параметры прямо внутри языка, так я его и назвал - STRUCT
Скрипты выполнялись ТОЛЬКО внутри элемента - и нельзя было по другому. Сейчас, конечно же, язык заброшен и его практического применения нет...
Но я горел идеей и в итоге начал разработку языка, только в качестве полноценной основы - взял JS (как TypeScript)
Идея была уже не размытая - улучшить опыт разработки и сократить время написания кода, добавив полезные сокращения и дополнительные функции. На мое счастье - js далеко не совершенный язык, по этому достаточно много я успел сделать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4💋3❤2
Сразу ссылка: https://github.com/cdmtn-dev/PrettyScript
Но важно прочитать информацию далее.
Это superset над JavaScript, по крайней мере так это классифицируют. Важно понимать слово "Прототип", потому что это не полноценный язык, а реально просто надстройка.
Я выложил это ровно так, как это у меня лежало на ПК - что бы вы просто посмотрели на него, предложили изменения или покритиковали мои решения - приму все
Не стоит это воспринимать как супер серьезный проект, но никто не говорит что из этого может выйти что-то реально серьезное. Github страничка сейчас максимально минималистична: почти ничего не настроено, нет документации... ничего. Я выложил это только что-бы вы посмотрели код и оценили идею
Если у вас реально есть идеи - пишите их в Issues или сюда в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🐳2❤🔥1🔥1
Честно, не уверен что знаю... НО!
Прочитайте, то что написано далее (если вы еще не знакомы с CodeMotion, в закрепе есть подробный пост): создание IDE - очень сложный процесс, как минимум потому что это не текстовый редактор, а как максимум потому, что я ее делаю один и на мне лежит очень большой груз ответственности.
Но я не собираюсь бросать проект, я же уже пообещал всем все, но и выпускать его сырым я тоже не хочу. Сейчас в проекте недоделано много чего, особенно по командной части, а так же происходят мажорные изменения архитектуры и некоторых функций, дабы:
а) сделать поддержку кода проще (и т.к проект Open-Source - упростить работу для контрибьюторов)
б) сделать API расширений легче
И именно из за этого есть сложности. Это даже если не учитывать минорные проблемы по типу сайта для IDE (даже несмотря на то, что с этим мне помогают), документации и бла бла блаю
Сейчас моя главная цель - максимально оптимизировать IDE для того, что бы хотя бы чуть-чуть не стыдно было ее выкладывать в общий доступ
Если у вас есть идеи, как можно улучшить мою IDE, какие нативные инструменты или функции вы бы хотели видеть внутри или какие дизайнерские решение лично вам хотелось бы увидеть - пишите комментарии под этим постом, я читаю и отвечаю на ВСЕ. Спасибо, что вы со мной!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3👍2🤗1
Я очень занят разработкой моей IDE, и трачу почти все свое свободное время именно на нее... Так вот, что я сделал?
Из новых изменений:
- Добавил выбор кастомного язык: при нажатии на название языка в файле в нижнем меню открывается окошко, в котором можно выбрать язык для этого файла. Он не сохраняется, чисто локальное изменение
- Цветные комментарии для JavaScript & TypeScript: я увидел интересный плагин для VSCode, который добавляет цветные комментарии в код, и я взял это как идею для нативной реализации, и реализовал. Теперь в js & ts файлах можно писать цветными комментариями: danger (красный), warning (желтый), questionable (синий)
- Доработан превью .md файлов как нативного решения
- Улучшение общей оптимизации приложения
- Улучшение структуры собственного движка для модальных окон: полное удаление старых решений для модальных окон и интеграция их в API для расширений
Из мелких, но тоже достаточно весомых решений было принято удаление:
- Календаря событий: не слишком тематическая вещь, +нагрузка приложения функциями
- Нативного движка комментариев: раньше, комментарии можно было оставлять в качестве иконки в приложении, но эта идея слишком баганная, из за чего я вырежу ее, по крайней мере из frontend части
Из стабильного остается доработка API для расширений, доработка глобального дизайна, разработка нативных решений собственных решений, оптимизация и подготовка к релизу и open-source.
Если у вас есть идеи для IDE - жду вас в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💋5🔥2🥰2🤗1