Comments 53
Огребу, но не могу сдержаться:
Что только ни делают PHPшники, чтобы не учить нормальные языки))
Да нормальный PHP язык, просто его ниша это далеко не нативные десктопные приложения. Попытки натягивать сову на глобус настигали и другие языки, кто то пытается сайт на плюсах или, упаси господи, на ассемблере писать.
Как по мне, то PHP был нормальным раньше, а сейчас со всеми современными наворотами, мне он не зашел. Раньше для тестовых страничек я его использовал довольно часто, а сейчас проще на Python с какой нибудь Django, что-то наваять, чем разбираться в наворотах PHP.
Ну так и PHP можно взять с какими-нибудь ларавелем, или прям совсем простым Slim. Там до сих пор все просто.
"Какой нибудь", это не пренебрежительное отношение к Django, а указание на выбор среди множества подобных (Django, FastAPI, Web2Py, Tornado, Bottle, Flask и т.д.)
Я не занимаюсь профессиональной разработкой под Web и подобный тонкости мне без разницы. Нужно было сделать тестовую страничку или простенький сайт для проверки гипотезы, беру и делаю, и чем проще - тем лучше.
Раньше можно было поднять apache и что-то быстро накидать на PHP, но учить только ради этого целый фреймворк, да еще при постоянном "улучшении" синтаксиса PHP? Ну уж нет, мне подобных улучшательств в C++ хватает.
А что сейчас вам мешает поднять апач/nginx и что-то быстро накидать на PHP? Я всё время так делаю, это по прежнему работает.
Изменения в синтаксисе языка не обязывают вас использовать прям всё сразу. На простых набросках я даже не втыкаюсь в какие-то нюансы. А в крупных проектах - да, там при миграциях риск поймать что-то из новенького заметно выше. Но в последнее время проект на php7.2 перевезли на php8.2 и воткнулись в собственном коде только в новое зарезервированное слово match, которое у нас было использовано как имя одного из классов. Все изменения и проблемы при переезде были связаны с обновлениями пакетов, но я уверен что в любом фреймфорке любого языка при повышении мажорной версии языка начинаются интересности.
Чистый PHP, как и чистый Python, тут не помогут, так как требуется сделать немного больше, чем простой hello world.
А раз нужно использовать какой нибудь framework, или не дай бог какую нибудь кроссязыковую функциональность, например вызов из C\C++ библиотеки, то при выборе между PHP и Python, я выбираю последний.
Спасибо, я знаю, что это есть, просто мне изначально не зашел новый синтаксис PHP с его классами и слешами. Поэтому и решил с ним распрощаться, так как мне проще было использовать другие инструменты.
То есть вы сравниваете php8 и... php4? Просто те самые "классы и слеши" ввели в php5... Это было лет 15 назад...
Во первых "классы и слеши" начали использовать в различных фреймворках не сразу после их выхода и потребовалось какое-то время, чтобы их переписать под новые версии синтаксиса и возможности языка.
А во вторых, я перестал пользоваться PHP не сейчас, а как раз тогда, когда и начали во фреймворки затаскивать эти "улучшения".
Послушайте, ну не нравится вам РНР — так и напишите. Это как раз будет приемлемое объяснение. Но зачем вы пытаетесь подводить какую-то базу и выставляете себя клоуном?
Чистый PHP, как и чистый Python, тут не помогут, так как требуется сделать немного больше, чем простой hello world.
В предыдущем комментарии вам прекрасно хватало "что-то быстро накидать на PHP". Почему сейчас вдруг резко перестало? Вы определитесь — или РНР вас и раньше не устраивал, или сейчас вы точно так же можете "накидать".
Вы сами не понимаете, что всё выглядит как капризы пятилетнего ребенка?
не нравится вам РНР — так и напишите
Так я именно это и написал. А особо дотошным даже рассказал, почему не нравится. Если вам нравится PHP ну и пишите на нем. Мне он не нравится, то я писать не буду.
И мне не нужно вашего разрешения или дозволения, чтобы высказать собственное мнение. Вообще не понял ваших претензий. Что у вас так порвало?
Нет, вы написали другое. Если бы вы остановились на вкусовых предпочтениях, никто бы вам и слова не сказал. Но вы решили подвести под них какие-то смехотворные обоснования.
Во-первых, вы написали что что "PHP был нормальным раньше", а некие "современные навороты" почему-то мешают вам его использовать сейчас. При том что эти "навороты" (ОМГ, неймспейсы объявлены непостижимыми наворотами) никто вас не заставляет использовать, вы можете писать без них. В вашем заявлении нет логики.
Во-вторых, вы нигде не писали, что ваши задачи усложнились, и РНР перестал подходить для них. Наоборот, вы четко писали про "тестовые странички" и "быстро накидать". При том что РНР в этом плане совершенно не изменился и точно так же можно "быстро поднять apache и что-то быстро накидать на PHP". И небыстро тоже. Вы прекрасно понимаете, что на РНР прекрасно пишется "немного больше, чем простой hello world." Зачем вы передергиваете?
быстро поднять apache
Для чего-то быстрого и апач не нужен, ну если только реально надо в браузере что-то наваять. Я часто php использую как просто быстрый скриптовой язык для CLI вместо Perl/Bash
Какие-то странные претензии.
Сейчас точно так же можно поднять "apache и что-то быстро накидать на PHP". "Учить фреймворк" или использовать "улучшения синтаксиса" вас никто насильно не заставляет. Какие именно улучшения вам мешают говнокодить на РНР?
у пхп есть микро. А зачем?
Чтобы что? чтобы быстрее? ставишь поверх лары roadRunner (Laravel Octane) и у тебя из коробки респонсы за 2мс, и нагрузка +1000% к RPS на контейнер.
После нормальной лары уже как то и не хочется на "микро".
видимо вы не работале с ларавелем, джанго убогий недоделок, по сравнению с ларавелем, после перехода с пхп на питон с их джанго и фаст апи был шок их убогости по сравнению с пхпшными фреймворками
Сайт на плюсах можете сделать на drogon framework
Я не думаю что стоит обращать внимание на комментарий человека у которого 2 из 4 статей на хабре про JS. Ещё про РНРшников что-то пишет...
А с вами согласен, десктоп это вообще не о РНР имхо
Попытки натягивать сову на глобус настигали и другие языки, кто то пытается сайт на плюсах или, упаси господи, на ассемблере писать.
Тащемта написать нативное (именно нативное, а не то что в статье) приложение на PHP с нативными вызовами winapi (или чего другого) будет попроще, нежели на тех же плюсах (например). Другое дело, что в PHP просто нет экосистемы, которая бы упрощала всё это дело (вроде Qt, XAML, JavaFX, etc.), а работать с лоу-левел вызовами функций ОС — это боль.
JS Fullstack приложение будет проще и легковеснее.
По результату скомпилированное приложение занимает более 1Gb
Безумее наростает.
Native - слишком громко для electron приложения
Т. Е. Там и браузер, и php, и node? Кажется не хватает только MySQL, а лучше Postgres. Да и Docker классный, давайте и его…
Можно еще OS запихнуть в образ виртуалки, чего уж там.
Вот полноценная ОС вместе гуями, браузером и всем необходимым помещалась в 30Мб
slitaz-3.0-xvesa.iso [29 МБ] — Полнофункциональное окружение рабочего стола с использованием крошечного графического сервера Xvesa, предоставляющая хороший набор ПО для повседневных задач
https://www.youtube.com/watch?v=mtbTMaFxOQM
https://www.youtube.com/watch?v=o9Xp1cy4XPI&list=PL208CA99ED2E18645
Ещё вроде как что-то в районе 2012 было, на asm.js ещё, поднимали винду 3.1 и некоторые из линуксов и бсд прямо в браузере, виртуализовав это дело и получая пусть и не самую быструю, но полноценную ОС. И в ней открыть браузер. Так что можно запустить сайт > в браузере > в фрибсд > в электроне > в хроме > в винде > в виртуалке > в линуксе > в вдс > в облаке.
Когда в руках молоток, всё вокруг -- гвозди :)
Смешно читать комментарии, тут же явно не про то чтобы использовать приложение на десктоп, а про то что laravel можно запихнуть в приложение. И у тебя из коробки все возможности laravel.
Ранее был Jphp проект, который был нацелен на изучение ООП по сути.
ну и не стоит забывать cs на php, который тоже для демонстрации возможностей делали
Да, жаль, что в основе лежит Electron. Получается, что каждое сделанное приложение от микро до макро будет +размер дистрибутива chrome и +размер оперативной памяти используемый chrome. Для программ подобных Obsidian с таким есть готовность мириться. Но если вам нужно небольшое приложение, и есть желание в минимум потребления памяти и небольшой размер дистрибутива, такой вариант не подойдет.
Вай, счастье то какое.
Кто ж разработчик сего чуда? Хотелось пожать их крепкие, кривые руки. Очередной webview весом на 1 GB. И самое главное, для чего?
Я понимаю свиминг в лужах, хоккей на траве, но это уж простите, перебор в извpaщении.
Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel