PyScript - Запускайте Python в браузере! Это КОНЕЦ для JavaScript?
Вставка
- Опубліковано 1 чер 2024
- ⭐ Курс ООП и Приват канал: www.zproger-school.com/?...
⭐ Телеграм канал: t.me/+TdiHrAcQiJ9lMmYx
В данном видео мы рассмотрим примеры с проектом PyScript, напишем свою интерактивную среду (Python REPL), которая позволяет выполнять код и выводить готовый результат. Инструмент из видео позволяет выводить Python код на HTML страницах, без использования JavaScript.
📁 Github: github.com/Zproger
📁 Примеры проектов PyScript: github.com/pyscript/pyscript
📁 Все плейлисты с уроками: bit.ly/39GaY89
📁 Связаться со мной: zproger777@gmail.com
📁 Поддержать криптовалютой: github.com/Zproger/donate
Тайм-коды:
0:00 - Что будет в видео?
0:50 - Что такое PyScript и какие у него возможности?
1:10 - Преимущества, фишки, и возможности PyScript
2:35 - Как установить PyScript?
2:50 - Пример 1. Подключаем проект и выводим данные на экран
3:57 - Пример 2. Используем функции и модули внутри HTML
4:30 - На что способен PyScript? Какие проекты можно реализовать?
6:00 - Пишем интерактивную оболочку. Python REPL
7:34 - Подключаем марио на страницу через PyScript
ПреВью: Это КОНЕЦ для JavaScript
Содержание: мы будем компилировать Python в JavaScript
🤣🤣
ага обычный интерпретатор)
А он компилирует код Пайтон на Джаваскрипт с помощью самого Джаваскрипта? Интерпретируемого языка программирования? Серьёзно?
@@SergeyKozhukhov лучше, он его интерпретирует)
Лютый кликбейт, ага
Немного не понял. Примеры слишком неюзабельные, что ли. Марио, фигуры, карты и выполнение питонкода на странице мало кому надо. А вот пример обычного человеческого повседневного сайта я бы посмотрел. Может я не врубился и коммент глупый. ) В любом случае спасибо.
Да не,ты не один. У него всегда так, тема интересная, а в объяснении не хватает наглядности и понимания
Ну вдруг тебе в форме регистрации на сайте нужен Марио в окошке, вместо каптчи . Если не прошёл - значит регистрация запрещена. 😂😂😂😂😂
Конец JS хотели бы увидеть многие , но пока им только удаётся подержать его за щекой !
xD
Ждём языка с обратной совместимостью с js XD
Карфаген должен быть уничтожен!
Особо радует, когда "конец Javascript" пытаются приблизить при помощи того самого Javascript ))
@@blackcatdevel0per Typescript)))
Далеко не все Python-технологии будут нормально компилироваться в JavaScript. Плюс к этому в такой работе нельзя использовать непосредственно Java-технологии, а они во многом предназначены для браузерной работы. Из всего того что я увидел, там стоит 5 костылей друг на друге. Технология сырая и вероятно будет разваливаться от любого шага в сторону.
держу в курсе, все примеры с видео умеет js и готовые библиотеки
Можешь пожалуйста, расскажи, что за костыли.
какие еще Java-технологии в JS ..... -_-
А что скажите насчёт другого похожего проекта brython
@@stoparb357 естественно, ибо python код компилируется в js
В питоне очень много всяких библиотек, есть ли какие-то ограничения на их использование? Например те, что нужно ставить через PIP instal
Очень интересно! Спасибо за ваш труд. Было бы интересно увидеть каким образом можно использовать Babylon в проектах Jango.
Всем удачи
Представьте в каком бы кринжовом мире мы жили, будь каждый кликбейт правдой
=)
Привет автор! будет что-то по flet?
Конец для javascript думаю это если сделают прямое взаимодействие Webassembly с DOM, тогда можно на Rust или C# писать полноценный фронтенд. Ну и сборщик мусора надо добавить. Конец это конечно же громко сказано, просто нормальная альтернатива должна появиться в таком случае
Ну PyScript достаточно медленный для этих целей
нет, не думаю. Вебасамбли занял свою нишу. Он решает определенные проблемы. Никто на расте полностью фронт писать не будет.
да, это лишь демонстрация что такое возможно, врядли дорастет до чего то большого, проще сделать прямое взаимодействие
Привет, классно видео. Не мог бы ты кстати подсказать, как открывать скаченное через скрипт видео из интернета в vs code?
Можно немного подробнее описать вопрос, а то я не совсем понял 😅
Плагины попробуй, я не знаток в этом IDE (Sublime Text мне удобнее), но вроде в нём спокойно можно открывать большинство медиафайлов, а если про открытие программы через скрипт python, то welcome to subprocess и открытие им программ(лучше использовать для этого готовые библиотеки)
Есть еще brython - это довольно старый проект. Рад увидеть, что появилось что-то поновее.
Спасибо за видео) Хмм, если так уж нужен питон и вэб - есть тот же Flask. Закачиваешь на сервер с поддержкой питона и пишешь нормальные питоновские проги со всеми плюсами и минусами. А то что показано в видео - ну такое - сырое и непонятное. А под webassembly сейчас можно компилить практически с любого языка программирования, так что тоже не ноухау.
ИМХО лучше уж js подтянуть, чем этот костыль
Да, полностью заменить этим жс нельзя
@@zproger даже на 5% нельзя
Все конечно круто,но не совсем понятно. Есть возможность у этой технологии возможность использовать локальные библиотеки. К примеру есть какой-то код в одной файл.py. И получается,я хочу из html файла вызвать этот код на сайт. Если такая возможность есть,то она идеально заменяет все функции шаблонизаторов фласка или Джанго. Если нет,то жаль.
Можно ли теперь этим делать ajax запросы без jquery и подобного ? Думаю будет довольно удобно.
Вряд ли. Этот проект скорее как демка, что-то серьёзное на нем не сделать, так как он очень долго рендерит страницу
Так и не удалось скачать код. Интересует последний пример из видео -Интерактивная оболочка
В этом примере хоть банально работа с Dom есть а что на счет Фреймворков по типу react или next? Если нет то это не более чем игрушка для гиков, просто поиграться и забыть , тем более еще и Пайтон без типизации, хуже наверно и не придумаешь ))
А допустим интерфейс с PyQt5 можно вывести туда?
@@hampta1337 ну если есть уже что то с таким интерфесом, хрень с табличками к бд и ты хочешь(надо) его на веб переписать , а тут чпыдымс...
он не динамичный ?
можно ссылку на именно эту версию марио? я нашел что-то но не то
Из увиденного мне понравилось, исполнять питон код в браузее, без необходимости исполнять на сервере.. - это хороший способ создавать обучалки.
хороший способ создать говнообучалку с огромной дырой в безопасности, и настежь расщеперенной уязвимостью к код-инъекциям на сторону сервера
фигня, а не способ, гораздо лучше выполнять такой код на сервере
@@user-sl4jq9op9l Можно для каждого пользователя запускать новую виртуальную машину.
опа, новый видос, уже бегу с чайком и пайчармом
😎😎
Интересно, а как интегрировать данную технологию в проект на Angular? Ну или другой фреймворк.
мне гораздо интереснее нахуя?
@@user-mm3vk2jz3i хороший вопрос)) любят люди хуйней по страдать когда есть прекрасный typescript с более менее внятной типизацией, и полной крутый Фреймворков по типу next, react, graphQL
Так же, даже, далее🤣👍
xD
Так же наверно говорили про PHP, но js никуда не делся
Продолжи плиз эту тему)
У майков появился Blazor, у питонистов PyScript. Кстати, судя по последним новостям за него взялись серьёзно.
Много всего есть но мало что приживается. И порог входа в js ниже.
что за сборка линукса?
Zorin OS
Что за линукс у тебя?
Arch
Дякую!)👍🔥
Дякуй, разрешаю
😉
Это даже круче чем eel....
😉
Да какой адекватный разработчик будет писать браузерный веб на python... А так для личного развлечения сойдет
ага, судя по тому что в видео было показано там либы еще качаются несколько секунд, на медленом соединении все отвалится и не загрузится
Я так и не понял как запустить игру в HTML коде работая в VS Code
Хотелось бы увидеть наглядко как запускать игру, как расположить файлы игр ы в папке с html странице
если можно будет скормить десктопное приложение и получить тоже самое в ввиде web приложения, то гуд, а в противном случае пока питона не вделают в движок браузера...
так встроили же через WebAssembly/ Emscripten. PyScript это среда в которой код питона исполняется в Pyodide. Pyodide - это порт CPython для WebAssembly/ Emscripten.
Один только вопрос. Зачем???
А почему бы и нет?)
zproger!!! а ты знал что можно вот так:
x: int = 1
y: str = "Hello World!"
???
Тип переменных в аннотации (PEP 526) уже лет шесть как в деле. А ещё можно вместо [x for x in range(20)] использовать [*range(20)]. 😉
👍👍👍
😎
Емнип что-то подобное есть для языков nim, Julia
А в остальном интересно, спасибо
Есть ещё Brython из той же оперы
Это да
Brython совсем другая история. Перпендикулярная. Код JS и СПитон скомпилированный в WebAssembly/ Emscripten работают в одной и той же «песочнице», и исполняются одним и тем же движком, поэтому в коде питона (который исполняется в среде СПитона) видно все объекты и пространства имен что созданы в коде на JS.
так браузер все равно js выполняет...
Ну да
такой вопрос, почему не могут создать единственный язык ? будет куда проще и он будет универсальным
Их пытались сделать, поэтому их так много и получилось)
универсальный уже есть - 01000101
Лучше и не скажешь 😅@@user-jp1hx7db2t
Ну а как там с с++ в длл для питона? (Не с в длл, а именно с++)
А так видео классное, лайк
Тоже жду.
Сделаю
Так лол Bryton не?
Вот бы поддержку kivy возобновили или что-то в таком же духе запилили.
7:09 похоже на Jupyter Notebook (ipynb)
это да
Хороший видос. ДЕшка гном я так понял, а что за дистр?
Zorin OS
А как же манипуляция ДОМ?
странная штука, мне кажется только нейронки пилить
Ну может кому-то пригодится =)
ахахах, конец для javascript слишком громко сказано. Все эти технологии, которые блогеры любят называть убийцей javascript компилируют какой-то другой язык в javascript и этим очень точно и подробно сказано, насколько это конец
"конец javascript" это шутка если что)
@@zproger да я понимаю
Поменьше пожалуйста фраз-паразитов (или как это назвать). Вот Вам пример: "...нам нужно создать наш проект и это будет именно html файл и так мы создаем html файл далее давайте попробуем первый пример то есть там для начала нужно создать базовую страницу html и поставить данный код я создаю обычный html файл..." (2:57).
Пожалуйста, следите за речью. А так видео вполне неплохое вышло.
Иди ты от сюда на хабр. Автор молодец !
Исправляюсь потихоньку, спасибо за комментарий =)
Это его канал,отвали от него.Он сам решает,как ему говорить.....
@@zproger так давайте создадим HTML файл, вот мы его создаем значит, HTML файл и вот мы создали собственный наш html файл, теперь мы можем взять наш HTML файл и удалить его, наш html файл, все конец нашему HTML файлу, эх а жаль, хороший был HTML файл ))))))) 😃😅🤣
выглядит не очень безопасно
Люблю твои видео по python, но в этом "так же, далее и даже" уж очень много этих слов.
Да, переборщил в этом видео, тупил немного и пришлось нарезать видос, вот и вышло такое)
@@zproger
такое такое такое
Туплю, карочче ;)
Давай ещё раз, чтоб было и ребёнку понятно, пожалуйста.
@@zproger какая у тебя OC?
Единственное преимущество - это если ты не знаешь жэ эс и тебе в лом потратить пару дней на его изучение.
ага
Можно конечно и молотком шурупы забивать если нет отвёртки.
Ждем появления фронтенд фреймворков на питоне
))
А вредоносный код так запустить можно будет?=)
Нет так как код из пайтона компилируется в JS
@@Adis2233 питон в код JS? Кто-то вас обманул. PyScript это среда в которой код питона исполняется в Pyodide. Pyodide - это порт CPython для WebAssembly/ Emscripten. JS нужен только для того, чтобы можно было смешивать код.
В начале ролика, Пайтон переводится в js, в названии видео "это конец для js", чем же конец, если по итогу это js, и другого языка для браузеров нет. А если учесть как развивается js, он используется во всех браузерах и в V8, а также node js который даёт возможность писать бэкенд на js. Автор в обще понимает о чем речь? Или название кликбейт? Кликбейт довольно глупый, потому что каждый знает js будет жить ещё очень долго.
Сейчас уже серьезные проекты редко пишутся на чистом js, все чаще используют typescript, который так же переводится в js.
Суть в том, что бы писать тот код, который удобен, легче поддерживается, более защищен. Но в данном случае защищенность вряд ли увеличивается, в отличии от ТС, да и с работой ивентов и ДОМ не понятно.
Так то это не js. Это CPython, скомпиленный в WebAssembly
автор ошибся, пайтон НЕ переводится в js. Создается среда js в которой запускается настоящий питон (СПитон). Т.е. в виртуальной машине БРАУЗЕРА исполняется код СПитона, который РАНЕЕ скомпилировали для Wasm и такому СПитону (интерпретатору питона) подается код на питоне. JS и СПитон скомпилированный в WebAssembly/ Emscripten работают в одной и той же «песочнице», и исполняются одним и тем же движком, поэтому в питоне видно все объекты и постранства имен что созданы в коде на JS
полезно, даже JavaScript учить не надо.
Конечно надо
😎
Это если DOM не нужен. А js в браузере в основном для управления DOM и используется.
еще есть brython!
Да, есть такое =)
brython - перпендикулярен этому подходу. Тут код питона в свой родной среде СПитона исполняется, а СПитон вместе с JS в одном адресном пространстве в браузере. Потому есть интеграция.
а я свой веб-проект сделал на Питоне и вывожу на экран с помощью Streamlit
для этого уже есть ts
Костыль на костыле костылём погоняет
это да
Конец для JS - орнул в голосину )
Ну смешно же)
@@zproger я читаю комменты и вижу что многие не оценили :D
Кайф
😎
гений
=)
Всем ку
😎
Автор, там flet выкатили, он более универсальный, глянь, ахуенная тема, со своими архитектурными проблемами, но как говориться открыто для контрибута
Благодарю, гляну проект, может сделаю видео об этом
Ура теперь вместо поддержки 100500 браузеров еще и один яп поддерживать от заказчика который пришел с фриланса =D, а вообще в целом мне нравится что веб развивается и появляется возможность использовать более большее кол-во инструментов в браузере .)
седущий код)
ну а почему бы и нет
4:16 тупит также как и всё на пайтоне
В конце прямо анаконда в браузере
Видел давно, просто не применяю, негде.
JS никуда не денется.
=)
отпадное видео
Благодарю
без асинхрона javascript этот питон просто шлак
Галопом по европам
Смотрю регулярно. Но как же достали эти слова-паразиты :( Попробуй сделать следующий ролик, ни разу не сказав "далее" и "данный"
Без обид ;)
Я тогда на протяжении всего видео буду молчать xDD
А меня бесчт такие,кто поправляет,мол используешь слова паразиты.....И что теперь,блокировать таких?Или как с такими как ты бороться?
0:13 подключаете скрипт на Python, он переводится в JavaScript... Как бы, ясно, понятно, очередная никому не нужная хрень. Другое дело, если бы в браузеры начали интерпретатор питона встраивать. Это было бы интересно. А так, ну пиши на JS, зачем эти костыли?
"он переводится в JavaScript" - автор ошибся.
three-js есть и на javascript и я как понял код python по себе очень схож так что я бы лучше сразу на js писал чем жертвовал скоростью загрузки
32
=)
Представляю, как это говно тормозит.
Ага))
Будь ласка, запам'ятайте, JavaScript на троні і буде там ще багато років.
=)
будет, будет. Шашлык из тобе будет. Индекс TIOBE Питон нр. 1, ... JS нр. 6
А теперь почитайте название видео в 2024 и поржите
:DDDD
Так JS же легче питона. По крайней мере он в разы понятней.
С ума сошел
ААХАХА! Легче? Он дебильный какой-то, не запоминается нихера, вдобавок на ванильном JS толком ничего не написать
JS понятнее?
@@vladnone7256 А я так не считаю
@@vladnone7256 он нет
JS и Python, несомненно, очень популярные языки, но они держат свою нишу каждый. Думаю, они никогда не заменят друг друга, так как очень хороши каждый в своей нише.
питон слишком мощен, и его использование в браузере переплюнет джаваскрипт, дело времени тут
Зачем такой дерьмовый кликбейт? Нельзя так опускаться...
Точно js умрёт 😅, просто кликбэйт
Да, умер сразу после этого видео 😅
@@zproger от кринжа
Бред
😉
Какая у тебя OC? @ZProger [ IT ]
У него zorin os
печально. предлагаю автору заменить себе ногу на деревянную чурку. ну а чо? ходить то можно же будет, а значит отличная замена.
Тут аналогия другая. тут скорее подходит аналогия с перчатками для работы. JS исполняется в виртуальной машине напрямую, а код питона через посредника - скомпилированный в WebAssembly СиПитон. СиПитон тут как перчатки, но по другому никак, ведь виртуальная машина в браузере поддерживать все языки сразу не может, поэтому и придумали WebAssembly, чтобы через него дать возможность всем остальным языкам исполнять свой код в браузерах.