Обложка канала

Sijeko Tech

Публичный Сиджекотек. Делимся ссылками по техническим, инженерным и дизайнерским темам. Никакой политики, религии, спорта, анекдотов, котиков, порнухи и прочей фигни. Только по делу. ⋅ Телеграм для связи: @maximal

Sijeko Tech

4 года назад
Открыть в
По поводу чехарды с macOS Notification API есть еще два соображения. Во-первых, зачем вообще позволять пользователю контролировать уведомления? Очень просто: потому что производители приложений уже давно не работают в интересах пользователя. Понятно, что если дать корпорациям волю, они будут заваливать вас спамом каждые десять минут. В нормальном мире этого бы не происходило. Ну, допустим, сайт может тоже показывать попап раз в минуту, но большинство сайтов этого все-таки не делают. Почему? Потому что если мешать пользователю, тот уйдет. Так же, по идее, должно быть и с приложениями — ну не нравится тебе, что оно рекламу свою тебе тычет, ну удали и не связывайся. Однако с приложениями это не работает, потому что монополии. Ну вот поставил ты условный гугл или убер, куда ты с них сбежишь? Да никуда, потому что у конкурентов то же самое. Или условный easyJet, тебе может не нравиться, что делает приложение, но лететь-то тебе нужно, правильно? Самое смешное, что вся эта тема с запретом нотификаций на системном уровне не особо-то и работает. Например, я поставил себе приложения разных авиакомпаний, такси и самокатов, и я в принципе хочу получать уведомления, когда что-то важное для меня происходит. Такси приехало, самолет улетел. А они этим пользуются и шлют рекламу. Ну что мне, нотификации отключать после каждой поездки, что ли? В идеале апстор должен бы был как раз такие ограничения насаждать и карать за рекламные нотификации. Может, они и карают, но я так подозреваю только инди-девелоперов. Ну что, пойдет условный Эпл к условной целой авиакомпании и выкинет их приложение из стора за рекламу, что ли? Не, там явно другие правила. А второе соображение связано со взлетом сначала веб-технологий, а потом и Электрона. Понятно, что главная причина — достаточно написать сайт один раз, а не пять (три десктопных ОС + две мобильных), что сильно экономнее и организационно проще. Ну и сама абсурдность, что для кросс-платформенного приложения вы должны один и тот же компьютер, прям буквально с тем же CPU, GPU, RAM, убедить делать одно и то же тремя разными способами, просто бредовая, и я про это уже писал. Но вот во-вторую очередь, я подозреваю, победа веба над нативом в том, что они смогли сделать адекватные АПИ, хорошо их абстрагировать, а десктопные ОС не смогли. Вот как показать нотификацию в Электроне:
const {Notification} = require('electron');

new Notification({
    title: 'Headline',
    body: 'Here write your message'
}).show();
Просто, понятно, быстро, без ебли мозгов. Работает сразу на трех платформах. И даже Xcode не нужен! Да даже компилятор не нужен. Чудеса, а что, так можно было? И так во всем. Работа с камерой, микрофоном, мышью, акселерометром, цветом, GPU — да чем угодно, высок шанс, что веб делает это проще, а десктоп, как всегда, не справился. «Но это же не настоящее программирование...» Вот знаете что? А я устал от настоящего программирования. «Настоящего», конечно, в кавычках. Почему, скажем, для эпл-скрипта, который игрушечный язык для непрофессиональных пользователей, показать нотификацию занимает одну строчку кода?
osascript -e 'display notification "hello world!"'
Почему мы, «настоящие» программисты, обязательно должны страдать? Ради какой высшей цели? Почему, если вот прям рядом есть примеры, как то же самое делается легко и играючи, почему так нельзя всем? Я тоже хочу легко и играючи, я устал идти в гору против ветра каждый день по восемь часов. Потому что нет конкуренции, вот почему. А куда вы денетесь? ОС вам все равно нужна, чтобы запускать ваши приложения, какая бы она ни была. Так что зачем стараться? Только потом не удивляйтесь, что писать десктопные приложения никому не нравится.