The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Работа по интеграции языка Python в web-браузеры

18.06.2009 13:17

Марк Сиборн (Mark Seaborn) сообщил о первых результатах работы по интеграции классического Python интерпретатора CPython в web-браузеры, путем использования технологии Google Native Client, позволяющей выполнять в окне web-браузера обычные бинарные приложения. Плагин Native Client поддерживает браузеры Firefox, Safari, Opera и Google Chrome на платформах Linux, Mac OS X и Windows.

Главная цель разработки состоит в обеспечении работы немодифицированной сборки CPython для выполнения в изолированном окружении Native Client. Безопасность в Native Client достигается через изоляцию системных вызовов и прерываний - разрешено выполнение 46 системных вызовов, остальное либо запрещено, либо эмулируется специальным runtime кодом. Сетевые и дисковые функции, а также операции для работы с памятью, обрабатываются специальной подсистемой. Обращение за пределы дозволенных областей памяти блокируются через задействования системы обработки исключений CPU.

Текущее состояние разработки позволяет импортировать в Native Client окружение все модули из стандартной библиотеки Python, а также ряд дополнительных модулей, таких как SQLite. При этом модули и SQLite пересобираются для работы в браузере из стандартных пакетов Debian, без дополнительной модификации исходных текстов. Для достижения возможности работы с немодифицированными Python модулями, код Native Client был расширен поддержкой динамического связывания. Следующим шагом разработки будет реализация возможности доступа из Python скриптов к DOM модели документов в браузере.

  1. Главная ссылка к новости (http://mail.python.org/piperma...)
  2. OpenNews: Google организовала соревнование по взлому Native Client
  3. OpenNews: Свободные проекты и Google. Открыт исходный код Google Servlet Engine
  4. OpenNews: Компания Google выпустила средство для выполнения бинарных программ в браузере
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/22202-python
Ключевые слова: python, web, browser, Native_Client
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Осторожный (ok), 13:18, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А зачем ?
    Вторая java ?
    Давайте сразу ОС в броузер интегрируем в виде отдельной виртуальной машины.
     
     
  • 2.13, Knuckles (ok), 17:58, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Проснулся? Все к тому идет. Иначе, как строить веб-приложения? Нужны развитые гибкие средства выполнения загруженного кода и его взаимодействия с пользовательской машиной. Именно на браузер возлагается эта функция. Это уже давно не только "показывалка html", не так ли?
     
     
  • 3.15, User294 (??), 18:58, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Иначе, как строить веб-приложения?

    AJAX, фигле. Намного безопаснее для клиентов как минимум.Не может пароли спионерить, номера кредиток потырить и просканив все почтовые файлы на винте разослать спам, например.А вот нативное добрецо... хаха, привет камикадзам.Давайте я вам исполняемый бинарь пришлю а вы его запустите?Не хотите?Желательно под рутом\админом.Чур на rm -rf / не обижаться :))))

     
     
  • 4.21, Аноним (-), 20:59, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    достатоно и rm -rf ~

     
  • 4.22, onono (?), 21:06, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    речь идет о создании изолированной среды запуска синтаксически идентичного питону скриптов, по сути виртуальной машины. задачи получить стандартный питон как он есть в виде родного интерпретатора нет, поэтому плагин можно сделать безопасным, убрав потенциально опасный функционал, изолировав от реальной системы, обеспечив доступ к реальной системе, если это нужно, через специальные библиотеки/сервисы, в общем примерно так, как это сделано в яве. цель всего этого дела ясна как божий день: питон - динамично развивающийся язык, оказался удобен во многих областях, на нем написано множество приложений, серверных бекендов, он архитектурно прекрасно спланирован, хорошо интегрируется с бинарными приложениями. если не хватает JS/AJAX, а его действительно не хватает для построения быстрых и удобных в программировании приложений в веб, и существует  потребность запуска помимо JS/Java еще и питона, то это в любом случае произойдет. и не нужно травить байки про сокеты, файлы, и т.п. детский сад прост. люди понимают, что делают, в кусре возможных безопасности. да и цели преследуются иные, в отличие от того же мелкософта с активиксом.
    p.s. и да, количество однотипных комментариев и качество вашей аргументации в них, User294, снова выдает в вас человека с поверхностными знаниями (относится к 90%-ам ваших комментариев на этом сайте). по всему видно, вы дальше новости на опеннете даже и не пытались изучить обсуждаемый вопрос.
     
     
  • 5.26, Анонимус (ok), 22:49, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Полностью с Вами согласен. Даже в новости нормально расписано, что безопасность продумана. User294 ведёт себя как параноик.
    А Питон - очень удобный и простой язык. От той же явы он выгодно отличается отсутствием необходимости предварительной компиляции и большей гибкостью и скоростью написания простых веб-приложений.

    ПС. Очень рад такой новости.

     
     
  • 6.42, rihad (?), 10:45, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > От той же явы он выгодно отличается отсутствием необходимости предварительной компиляции

    Питон еще как предварительно компилирует код в байткод перед началом выполнения, и даже сохраняет полученный байткод используемых модулей на диске для более быстрого запуска в дальнейшем (в *.pyc файлах, или *.pyo в режиме оптимизаций) и в этом плане мало чем отличается от прозрачной компиляции Джавы модулей в *.class файлы. Единственное отличие: Питон сразу начинает работу с основным исходным файлом, выполняющим роль входной точки в приложение и не создает автоматически его байткод на диске, а в Джаве основной исходный файл (и только его) нужно предварительно откомпилировать в *.class файл используя javac. И там и там рекомендуется оставлять входной файл приложения небольшим и в основном подгружающим остальные 99% кода, где и выполняется вся работа.

    Но сама новость порадовала, ибо Питон мне нра.

     
  • 4.23, Knuckles (ok), 22:06, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Помнится, с полгода назад вы на js ругались - якобы, серьезная дыра в безопасности. Сейчас, видимо, поняли, какие он дает преимущества перед статикой. А теперь еще подумайте о средствах создания богатого гуя и интеграции с десктопом.
    ПС: странное дело, практически любое ваше сообщение можно обрезать примерно после 50го символа, и оно при этом не потеряет смысловой нагрузки.
     
     
  • 5.36, anonymous (??), 10:08, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Помнится, с полгода назад вы на js ругались — якобы, серьезная дыра
    >в безопасности.

    а так и есть. и включать его стоит выборочно, а лучше не ипользовать сайты, где без него никак.

    >А теперь еще подумайте о средствах создания богатого гуя и интеграции
    >с десктопом.

    вот только этого и не хватало. а потом на машины перестанут ставить винты, потому что «а нафига? всё в вебе лежит!»

     
     
  • 6.41, Knuckles (ok), 10:43, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >а так и есть. и включать его стоит выборочно, а лучше не ипользовать сайты, где без него никак.

    Я так и поступаю, но это не отменяет ценности js.

    >а потом на машины перестанут ставить винты, потому что «а нафига? всё в вебе лежит!»

    Вы утрируете. Просто производителю софта поддерживать веб-вариант проще, чем stand-alone аналог - одна копия (на сервере), простое обновление в любое время, полный контроль и т.д.

     
     
  • 7.43, anonymous (??), 10:52, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Я так и поступаю, но это не отменяет ценности js.

    а я и не говорил, что js не нужен. он просто overused.

    >Вы утрируете. Просто производителю софта поддерживать веб-вариант проще, чем stand-alone аналог —
    >одна копия (на сервере), простое обновление в любое время, полный контроль
    >и т.д.

    вот-вот. с «полного контроля» и стоит начинать. а потом — нафига на машине винты, если всё равно данные — в инете, софт — в инете? «полоумный» терминал — и хватит. и какой-нибудь мизер-флэш для кэша очень часто используемых кусков. и куча оперативки. и неперепрошиваемая псевдо-ОС в ROM, которая только и умеет, что сетевуху поднять да до интернета дойти.

    кстати, RMS примерно о том же говорит. но народ, как обычно, орёт, что RMS — тупой фанатик. правда, этот «тупой фанатик» потом оказывается прав, да поздно…

     
  • 2.30, daemontux (?), 06:00, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А зачем ?
    >Вторая java ?
    >Давайте сразу ОС в броузер интегрируем в виде отдельной виртуальной машины.

    Реквестирую поддержку асемблера.

     

  • 1.3, restofil (?), 13:31, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    java уж очень тяжела .
    Хорошая идея - главное безопасность обеспечить
     
     
  • 2.16, User294 (??), 19:00, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >java уж очень тяжела .

    Можно подумать, питон легче... как минимум по общей скорости работы он тот еще тормоз.Накладные расходы на старт мелкого скриптика может и поменьше.Вот и выирайте, гм :D

    >Хорошая идея - главное безопасность обеспечить

    Одни вон уже пытались с их активиксами.И дыр вечно было вагон.Как впрочем и в жабе вечно находят дыры вида "аплет может забить на песочницу и пошариться по всей системе с правами текущего пользователя".Кажется, кому-то урок не в прок...

     
     
  • 3.27, Анонимус (ok), 22:50, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хватит уже чушь пороть. Если Вы не "в теме", то лучше держите свои мысли и подозрения при себе.
     

  • 1.7, mag (??), 14:23, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    если это гибко, удобно и будет шустро работать, то почему бы и нет. лишний повод от JS отказаться.
     
     
  • 2.8, sauron (ok), 14:25, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Это аналог апплетов а не javascript
     
  • 2.17, User294 (??), 19:04, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >лишний повод от JS отказаться.

    JS хотя-бы не может шаро#@иться по всему моему диску и сокеты создавать.А вот питон или ява - очень даже могут.И как бы это ни отгораживали а постоянно будет всем известная фигня.В смысле, троянить через это дело - будут.Если хаксор "протроянил" юзера ява скриптом (выполнение в контексте текущего сайта левого JS) - как максимум он может умыкнуть аккаунт на этом сайте или выполнить какие-то левые действия от лица юзера на этом сайте.Нативная байдень сможет в "аварийной" ситуации явно поболее.Оно, простите, надо?Еще не хватало псевдо-кроссплатформенное вирье на всяких там питонах потом выколупывать.

     
     
  • 3.25, Зилибоба (??), 22:41, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А вот там такие дураки сидят и не подумали об этом ни разу, один юзер у нас молодец, все сразу вкурил что к чему...
     

  • 1.9, Аноним (-), 14:34, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    js медленный. но в любом случае питон намного медленней сильверлайта на .NET. хотя и позволяет на лету скрпиты подготавливать. - если на это рассчитано.
     
     
  • 2.32, ffsdmad (?), 07:31, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >js медленный. но в любом случае питон намного медленней сильверлайта на .NET.
    >хотя и позволяет на лету скрпиты подготавливать. - если на это
    >рассчитано.

    а что такое "сильверлайта на .NET. " и кому это нужно?

     
  • 2.47, ffsdmad (?), 17:18, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >js медленный. но в любом случае питон намного медленней сильверлайта на .NET.
    >хотя и позволяет на лету скрпиты подготавливать. - если на это
    >рассчитано.

    а что такое "сильверлайта на .NET. " и кому это нужно?

     
     
  • 3.48, anonymous (??), 17:19, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >а что такое "сильверлайта на .NET. " и кому это нужно?

    мигелю деиказа.

     

  • 1.10, vladoos (??), 14:38, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как альтенатива флеш замечательно справляется с недостатками JS и лишён монстроидальности жабы, хотя и уступает по возможностям гибкости. Но зато прекрасно показывает себя на рынке. Но не потому что лучше всех, а просто потому, что так есть. Насколько новая альтернатива проявит себя на рынке непонятно. Это зависит от маркетинга и рынка, а не от технологии.
     
     
  • 2.18, User294 (??), 19:07, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Как альтенатива флеш замечательно справляется с недостатками JS
    >и лишён монстроидальности жабы,

    А еще, что очень мило, он лишен возможность хреначить сокеты, шариться по моему диску и прочая.Поэтому выполнение в контексте посещаемого мной сайта вражеского ролика может создать как максимум анноянс или минорные проблемы.А не тотальное поимение системы с правами текущего юзера.

     
  • 2.37, anonymous (??), 10:10, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Как альтенатива флеш

    …замечательно существут скриптуемый SVG. зачем ещё одна непонятная фигня — не ясно.

     

  • 1.14, User294 (??), 18:55, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > позволяющей выполнять в окне web-браузера обычные бинарные приложения

    Это чтобы хаксорам было удобнее у меня пассворды и т.п. тырить и проксики запускать?Из Battle for Wesnoth вон питон выбросили.Потому как дыра, по сути позволяющая запускать неограниченный питоновый скрипт любому дятлу на стороне клиента.Гугл хочет сделать решето типа активиксов номер два?Хакеры должны сказать гуглу спасибо им за столь ценные начинания по размножению дыр в браузерах.Кажется скоро за тонны спама и зиллионы проксей можно будет ругать не только Майкрософт но и гугл... oO

     
     
  • 2.28, SkyRanger (??), 02:19, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Вы путаете питон обычный и питон встаиваемый. Из встаиваемого будет убран весь функционал для обращения к файлам и сокетам и к нитям/процессам, если он есть. Это будет сделано намерено, чтобы избежать всего, что вы сказали. А вся подобюная работа будет производится самим браузером. Т.е. ИМХО будет тот же javascript только вместо базового языка java будет python.
     
     
  • 3.29, Аноним (-), 04:40, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    "Главная цель разработки состоит в обеспечении работы немодифицированной сборки CPython для выполнения в изолированном окружении Native Client. Безопасность в Native Client достигается через изоляцию системных вызовов и прерываний - разрешено выполнение 46 системных вызовов, остальное либо запрещено, либо эмулируется специальным runtime кодом. Сетевые и дисковые функции, а также операции для работы с памятью, обрабатываются специальной подсистемой. Обращение за пределы дозволенных областей памяти блокируются через задействования системы обработки исключений CPU."
     
  • 3.35, tipa_admin (?), 08:46, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо путать Java и JavaScript, первый не является базовым языком для второго.
     
  • 2.50, аноним (?), 14:04, 21/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >> позволяющей выполнять в окне web-браузера обычные бинарные приложения
    >
    >Это чтобы хаксорам было удобнее у меня пассворды и т.п. тырить и
    >проксики запускать?Из Battle for Wesnoth вон питон выбросили.Потому как дыра, по
    >сути позволяющая запускать неограниченный питоновый скрипт любому дятлу на стороне клиента.Гугл
    >хочет сделать решето типа активиксов номер два?Хакеры должны сказать гуглу спасибо
    >им за столь ценные начинания по размножению дыр в браузерах.Кажется скоро
    >за тонны спама и зиллионы проксей можно будет ругать не только
    >Майкрософт но и гугл... oO

    Спасибо, вы открыли мне глаза. Удаляю блендер к чертям собачим, жыть невыносимо страшно.

     

  • 1.19, анонимус (?), 19:59, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Это прежде всего наш родной Питон. Если он будет работать в браузерах без ущерба для безопасности - интернет преобразится.
     
     
  • 2.20, Fan (??), 20:44, 18/06/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Любая дырка - в первую очередь косяк разработчиков одного из задействованых компонентов... если все будут писать нормальные программы, то всё будет хорошо. Да и меньше поводов будет поднимать такие вот палемики, как бабульки у подъезда лишь бы охаять кого нибудь... Всё равно, если технологию хотят внедрять - значит это востребовано кем-то, а значит имеет место быть. И это хорошо.
     
     
  • 3.51, аноним (?), 14:06, 21/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Любая дырка - в первую очередь косяк разработчиков одного из задействованых компонентов...
    >если все будут писать нормальные программы, то всё будет хорошо. Да
    >и меньше поводов будет поднимать такие вот палемики, как бабульки у
    >подъезда лишь бы охаять кого нибудь... Всё равно, если технологию хотят
    >внедрять - значит это востребовано кем-то, а значит имеет место быть.
    >И это хорошо.

    Советую перечитать законы Мэрфи

     

  • 1.24, Аноним (-), 22:21, 18/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лучше бы Lua интегрировали, вместо javascript, java, flash
     
     
  • 2.39, anonymous (??), 10:12, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Лучше бы Lua интегрировали, вместо javascript, java, flash

    плюс очень много. только жабоскрип не надо выкидывать, это очень хороший язык. просто 99% народа не утруждается его изучением.

     

  • 1.31, Аноним (-), 07:27, 19/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем он там нужен? Какие такие нерешаемые проблемы он будет решать?

    PS реквестирую переделывание браузера в VM ala Smalltalk/CL

     
  • 1.33, Аноним (-), 07:43, 19/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень хорошая новость, гугль знает что делает, не раз доказано.
     
     
  • 2.34, Pilat (ok), 08:43, 19/06/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Очень хорошая новость, гугль знает что делает, не раз доказано.

    Гугль-то знает, да вот вместо двух популярных браузеров он выдвинул третий, вместо одного JavaScript появится ещё и питон - и огребать всё это приходится нам, программистам. Конечно, питон вместо JS это правильно и хорошо, но ... Java всё-таки более разумный выбор, питон принципиально ничего нового не несёт, а в яве есть масса готовых технологий.
    С другой стороны, вспоминая, что на питоне написали реализацию Руби, работающую быстрее оригинальной - есть подозрение, что появится вообще зоопарк языков. Это и хорошо и плохо, стандартизации полный капец, зато свободе самовыражения широкая дорога.  

     

  • 1.46, Аноним (-), 13:19, 19/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень хорошо видно что web знает куда плыть, но очень туманно как.
    html -> ajax -> ria (rest, web-services) -> БраузерОС -> ?
     
  • 1.52, Аноним (-), 08:32, 22/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В результате через несколько лет мы получим ситуацию, внешне идентичную массовой одноплатформенности... только достигаться она будет не тупой установкой одинаковых компов всем юзерам, а херовой горой промежуточных уровней, сводящих аппаратные/ОС различия к нулю, и при этом жрущих процентов 90 ресурсов....

    Ну это как взять всех автомобилистов и позвать ездить на эвакуаторах... то есть, ты вроде на "феррари", а он вроде на "бентли", но вы оба в кузовах "газелей"

     
  • 1.53, ph (??), 19:56, 09/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я пошел дальше и написал браузер на питоне)
    http://pawnhearts.ru/blog/2010/03/09/hackwrench-webkit-pygtk-browser/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру