214 похожих чатов

Не каждый день такое бывает, но сегодня в превью вышла

новая ИДЕ от Джетбрейнс, над которой я в том числе работал. Называется Fleet.

Самая главная радость, конечно, в том, что это ИДЕ не на браузерных технологиях. Видит бог, мы пробовали, и ClojureScript, и Реакт, и даже точечный кастомный DOM-патчер на 200 строк — хоть разбейся, но не тянет браузер серьезное редактирование текста. Даже если брать от него только рисование. Ну или не тянет в том виде, в каком получалось писать у нас (это было до меня, так что подробностей не расскажу).

Тут сейчас понабегут умники и скажут, а почему не WebGL + WebAssembly, на что я заранее отвечу: оно бы взлетело (см. Makepad), но в чем тогда вообще радость запускаться в бразуере, если ты ничего от него не используешь? Приседаний много, а бенефитов как-то не очень.

В числе прочего, именно для этой ИДЕ создавалась Skija, и она до сих пор на ней работает (правда, исходники недавно форкнули и сконвертили в Котлин).

И именно на Fleet я осознал, что создать UI фреймворк в общем-то дело вполне подъемное, и браузер/электрон не настолько уж невозможную задачу делают и совсем не так сильно нужны, как может показаться на первый взгляд. То есть если у вас три студента и надо делать продукт, а не точить пилу, то свой UI вы наверное не осилите. Но если команда из хотя бы пяти сеньоров и финансирование на пару лет, то никаких серьезных препятствий нет, а выигрыш потенциально очень существенный.

(но кто сейчас может позволить себе пять сеньоров, да?)

Пост про эмоджи тоже, кстати, родился из работы над редактором Флита. Не скажу что там лучшая поддержка в мире, но должна быть лучше Идеи как минимум.

Вообще работа в Джетбрейнс была очень интересным опытом. Я узнал про себя, что мне очень нравится выдрачивать пиксели, например. Узнал, что есть две парадигмы разработки: быстро накидать как-то и потом разгребать последствия, или делать хорошо, но долго. Мне комфортно во второй парадигме, но вот парадокс: новым продуктам нужна первая, иначе ничего никуда вообще не сдвинется. А я пугаюсь, когда не могу все объять, погрузить в голову и контролировать. Учусь теперь отпускать и расслабляться.

Узнал про ловушку С++: это ультимативный язык «но есть нюанс». С одной стороны кажется, что все понятно и пишется довольно просто и прямо. С другой, раз в неделю ты застреваешь на каком-то бреде на день-два и просираешь время вообще непонятно куда. И каждый раз проблема разная, и каждый раз, разобравшись, она не кажется такой уж страшной. Но факт остается фактом: тупишь ты больше, чем хотелось бы, а объяснить это практически невозможно.

В целом это офигенно круто, что такой большой игрок как ЖБ выступил с не-браузерным решением. Очень хочу, чтобы это заставило другие большие компании нервничать и шевелиться, и смотреть на Электрон с меньшим энтузиазмом, чем раньше. Выиграют все.

А также поздравляю с релизом всех причастных!

3 ответов

25 просмотров

Как много букв

Konstantin Redkin
Как много букв

Там интересно, прочитай

Yura Sargsyan
Там интересно, прочитай

Дочитал до середины, заскучал.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта