Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ищу JS-библиотеку для создания IDE (https://javascript.ru/forum/misc/50890-ishhu-js-biblioteku-dlya-sozdaniya-ide.html)

klgleb 16.10.2014 04:42

Ищу JS-библиотеку для создания IDE
 
Всем привет!

Я хочу написать небольшой интерфейсик с подстветкой ключевых слов, какими-нибудь горячими клавишами, автокомплитом и поиском по справочным материалам. Может, кто-нибудь где-нибудь видел что-нибудь подобное?

danik.js 16.10.2014 05:16

Для контролов, панелей и тд юзай какую-нибудь UI либу. Что-то типа ExtJS.
Для редактора - редактор ACE. На нем сделан c9.io как можно догадаться )

kobezzza 16.10.2014 18:18

Или http://codemirror.net/ (он используется в FF, Adobe Brackets и многих других проектах).

danik.js 16.10.2014 18:38

Цитата:

Сообщение от kobezzza
Или http://codemirror.net/ (он используется в FF, Adobe Brackets и многих других проектах)

Вот кстати, почему? По фичам - хуже. По стуктуре кода - вобще жуть. Там все в одном файле - не понимаю автора.

Два преимущества, которые я знаю - лучшая поддержка rtl и поддержка не-monospace шрифтов (но кому это надо)

Aetae 16.10.2014 18:51

ACE субъективно тормозит сильнее. А так - оба жуткие монстры.(впрочем с той мерзостью, что творится в браузерах с contentEditable - не удивительно)

MallSerg 16.10.2014 19:01

Цитата:

Сообщение от danik.js
Вот кстати, почему?

Работает в десятки раз медленее

danik.js 23.10.2014 18:42

Цитата:

Сообщение от MallSerg
Работает в десятки раз медленее

Бред полнейший. Как ты замерял? В чем тормоза?
Цитата:

Сообщение от Aetae
ACE субъективно тормозит сильнее

Вот именно, что субъективно.

Делал профилирование, так вот, я не вижу никаких лишних действий. Основное время уходит на парсинг HTML, из которого формируется текущая редактируемая строка. Создание элементов через createElement() не ускорит, а скорей наоборот замедлит работу.

Все, что касается рендеринга - вылизано. Обращение к DOM откладывается и идет только в requestAnimationFrame, то есть пакетно.

Aetae 23.10.2014 21:28

Цитата:

Сообщение от danik.js (Сообщение 337168)
Вот именно, что субъективно.

А иного нам и не надо же.

Он может даже внезапно работать по тестам быстрее(хотя и не верю), но если при использовании "ощущается" тормознутым - пользоваться им не хочется. Человеки увы не машины.

danik.js 23.10.2014 21:45

А что именно кажется тормознутым? Прокрутка? Выделение? Лаги при наборе текста?

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


Часовой пояс GMT +3, время: 02:34.