Люблю делать UI и офисные приложения
Information
- Rating
- 1,409-th
- Location
- Россия
- Registered
- Activity
Specialization
Software Developer, Application Developer
HTML
CSS
JavaScript
Windows API
C++
UI/UX design
Interface development
Product Design
Adobe Photoshop
Designing interfaces
Редактор статей Хабра скушал 10 гиг. Нашёл процесс firefox.exe, убил. Было немного итераций (может, десяток или два) «отредактировал — сохранил в черновики».
Надеюсь, в ES когда-нибудь введут директиву, после которой на любой type mismatch будет вылетать исключение. (Это идея гораздо лучше, чем статическая типизация поверх динамического рантайма и лучше, чем
===
. Я писал на таком языке и знаю).if (value)
.В качестве проверки на человека надо сначала найти человека (для причинения вреда)? Рекурсивная какая-то капча.
P.S. Первоначально мой комментарий содержал не одну, а две причины считать это неудачными примерами. От одной я отказался сразу же, отредактировав комментарий через минуту. Видимо, Хабр успел отправить уведомление с первоначальным текстом комментария.
От второй причины («алгоритм сработает на “a” и “o”») я не отказываюсь.
Повторяю:
Разработчики Wine, на вас теперь вся надежда.
Naïve и Moët не самые удачные примеры. Алгоритм сработает на “a” и “o”.
Но есть простое английское слово pâté. И его можно записать четырьмя кодепоинтами (второй — ʟᴀᴛɪɴ ꜱᴍᴀʟʟ ʟᴇᴛᴛᴇʀ ᴀ ᴡɪᴛʜ ᴄɪʀᴄᴜᴍꜰʟᴇx,
U+00E2
, четвёртый — ʟᴀᴛɪɴ ꜱᴍᴀʟʟ ʟᴇᴛᴛᴇʀ ᴇ ᴡɪᴛʜ ᴀᴄᴜᴛᴇ,U+00E9
). И на нём функция скажет: «Бдзынь!», а мы скажем: «Вот то-то же».Не ко мне вопрос, но, например, Photoshop CS6 (периодически смотрю его статус на WINE и вижу непофикшенные моменты). Или Visual Studio. У VS и кросс-платформенного Visual Studio Code общего только название. Добиться одинакового поведения от редактора кода VS Code не удалось, сколько я не бился.
Когда хочешь поставить плюс в карму и видишь, что уже поставил плюс в карму раньше.
Надо будет на на пару старых железяк накатить.
НепугаНый, извините.
Непуганный прост. Я пуганный, я читаю:
и думаю, относится ли это к данным, созданным локально под богомерзкой онлайновой учёткой. Не зря же они «Мой компьютер» переименовали.
Космические ракеты не забрасывают повыше, а разгоняют до космических скоростей. В забрасывании повыше смысла нет, иначе можно было бы стартовать с дирижабля. Но с дирижабля можно только упасть.
Ну, под Андроид есть webview, а остальное можно так же, как на писи. В смысле, бизнес-логику, интеграцию и IO пишем на нативной джаве (в особо замороченных случаях — на плюсах через NDK). Правда, сделан этот webview пре-по-хаб-ней-ше. Если сравнивать с Internet Explorer, например.Там webview (WebBrowser Control) позволял через COM оседлать весь DOM. Получать доступ к списку узлов и свойств, через нативный колбек-интерфейс подписаться на любой DOM event и т.д. А в Андроиде мне пришлось городить чудовищные костыли.
Я подозреваю, это было сделано специально, как раз чтобы побудить программистов использовать ихнюю «свою дефолтную технологию». К счастью, в наши дни можно сбандлить приложение с настроенным движком. И даже есть выбор между двумя известными и одним шустрым ))
Да я сам нативщик. В смысле, я не тащу абсолютно всё в Электрон, чтоб оно зверски тормозило. Бизнес-логику, интеграцию с ОС, файловый IO — всё это я пишу на C++, а в будущем планирую писать на Rust'е.
Но UI — строго на HTML/CSS. А как иначе? Всякие WAI ARIA, поддержку контрастности, механизмы для 100% поддержки клавиатуры (например, стилизации
:focus-visible
и перенаправление клавиатурных ивентов), адаптивность и т.д. — самому с нуля писать? Да ну нафиг. Как сказал тот же гуру (опять же, в моём пересказе, в соответствии с тем, как я его понял): если вы сегодня делаете UI не на HTML, то вы или миритесь с крайней ограниченностью вашего UI-бэкенда, или пишете свою гордую, ни с чем не совместимую реализацию HTML ;)Он в одного написал движок браузера с сотнями миллионов юзеров. Для меня достаточно, чтобы считать его гуру. И насколько я понял, для него «позиционирование (то, которое имеет position, отличное от static)» и «модели раскладки» — это всё конкурирующие способы представления. А ему приходится их все поддерживать, поэтому он и называет эту ситуацию бардаком.
В комментарии, вроде, постановка задачи исчерпывающе объяснена. Есть двухмерная структура, и поэтому она
grid
. Но по одному из измерений (в данном случае, по ширине) нужно поведение как у флекс-контейнера сflex: 0 1 @basis;
(флекс-элементами являются колонки).Я не нашёл, как такое поведение задаётся напрямую, пришлось городить вышеприведённый костыль. Если вы знаете как, подскажите. Я всегда рад заменить костыль родными встроенными средствами, если вдруг оказывается, что я их проглядел. А если нет, это пример того, что каждая модель что-то умеет лучше других. И придётся и дальше смешивать их все, если только не появится 15-я по счёту модель, которая точно будет лучше и универсальнее.
Если кто-то знает способ лучше, подскажите.
С первого взгляда на Model M в детстве я понял, как должна выглядеть настоящая клавиатура: бежевая, ибо стильно, с крестиком стрелок, чтобы играть, с 6-блоком для удобства редактирования текста и numpad'ом для работы с числами. С тех пор только такие и юзаю (потомков с мультимедиа-кнопками, конечно).
Чтобы подчеркнуть одномерность. Код ведь читают в первую очередь люди, а уже потом — браузеры.
А вообще, как сказал один гуру разработки браузеров, страшный бардак у нас в CSS — несколько конкурирующих моделей позиционирования свалены в кучу.
Как пример проявления этого бардака — гриды не поддерживают флюидность. Конечно, для колонки флюидность, чаще всего, не нужна, но если вдруг понадобится, гридом так легко её не сделать. (Или я просто не знаю способа — для придания флюидности гриду у меня написан достаточно корявый миксин).