LINUX.ORG.RU

Кроссплатформенная разработка на Python - есть ли проблемы?


0

0

Начинаю изучать Python :)

Интересует, есть ли какие-то проблемы, которые возникают при разработке кроссплатформенных приложений?

Пока получается минус в том, что нужен установленный интерпретатор python. Хоть для винды есть py2exe, но там получается большой вес исполняемого файла.

Какие есть еще минусы?

Производительность не на первом месте. Насколько я посмотрел производительность у него достаточная.


есть, в доках обычно пишут platform specific notes.

true_admin ★★★★★
()

>Пока получается минус в том, что нужен установленный интерпретатор python. Хоть для винды есть py2exe, но там получается большой вес исполняемого файла.

А в современных линуксах практически везде он уже стоит по умолчанию. Большой вес - это проблема только если HelloWorld'ы писать :)

imp ★★
()

> но там получается большой вес исполняемого файла

Когда Flickr появился в 2004-м году, он взорвал мой мозг

К тому моменту я прочитал все статьи, описывающие, как создавать страницы, которые быстро загружаются: уменьшение количества HTML'я, ручной тюнинг GIF'ок, повторное использование изображений. Я был погружен в культуру оптимизации конца 90-х. И вот вдруг появился сайт, который полностью основан на показе огромного количества фотографий, жадных до памяти. Более того, размеры этих фотографий полностью контролируются пользователями: изображения могут быть с увеличеной резкостью (over-sharpened), что серьезно увеличивает JPEG в размерах, или могут быть загружены с минимальной компрессией. Пользователи могут нажать на кнопку «все размеры» и насладиться 5-мегабайтовым фото. Сам факт просмотра 200-килобайтового изображения во много раз перевешивал любую попытку уменьшить количество обрамляющего HTML-кода

Пока я пытался понять, как это пропускные способности каналов прыгнули на такую недосягаемую высоту, как появился этот сайт, который делает то же, что и FLickr... но с ВИДЕО. И что теперь? Люди часами сидят, смотрят потоковое видео или целые 30-минутные серии различных сериалов онлайн. У Ютуба не только не было паранойи по поводу ширины каналов, но сама идея сайта как раз состояла в том, чтобы дать людям возможность запрашивать огромные объемы непрерывных данных. Такая идея была настолько вне зоны моего технического комфорта, которую я выстроил сам для себя, что я даже не смог бы начать думать о потенциальном ее существовании.

Этот урок я усвоил. И все же мне до сих пор попадаются люди, которые повторяют эту же ошибку, но в гораздо более консервативном исполнении:

— “На 64-битной машине каждый элемент списка в Эрланге равен 16 байтам, что совершенно недопустимо.“ — “Образ Smalltalk'а — 64 мегабайта, а это просто смешно. Я не собираюсь отправлять это нашим клиентам.“ — “Я никогда не буду использовать IDE, которая требует скачать 2 ГБ!“

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

a3
()
Ответ на: комментарий от a3

> ...и технических беспокойств.

Ну как бы :) Беспокоит. Можно написать на C/C++ и получить вес кода 1М, а с python пользователю придется залить к себе 10-20М. Каналы не у всех всё-таки широкие (у меня лично нормальная скорость, я имею ввиду вообще). Хотя конечно уровень у python повыше будет и на нем приятнее и легче писать :)

mrhx
() автор топика
Ответ на: комментарий от imp

> А в современных линуксах практически везде он уже стоит по умолчанию.

Да, это плюс :) Просто хочется, чтобы и у других не было проблем, если у них не линукс.

mrhx
() автор топика

Ты хоть скажи, что собрался разрабатывать? А то какие-то странные претензии - размер большой. Вполне терпимый оверхед, по сравнению с жабой и моной.

mamay_cozak
()
Ответ на: комментарий от mamay_cozak

Да это почти не претензии, я ж понимаю, что там типа возможностей много будет :)

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

mrhx
() автор топика
Ответ на: комментарий от mrhx

Инсталляк питона 11Мб весит - а py2exe обычно в пределах 2Мб делает. Еще и сжать можно - если прога не хеловорлд - то оверхед вполне себе нормальный - скорее графическая либа (gtk или qt) больше займет.

imp ★★
()
Ответ на: комментарий от imp

А ну, если 2 метра, то это уже нормально =) (я просто еще не пробовал py2exe использовать, поскольку под линуксом)

mrhx
() автор топика

Насчёт размеров при использовании py2exe:

$ ls -1sh
total 1.6M
865K python25.dll
701K sync.exe

sync.exe - обновлялка через ftp, на питоне.

Для графических приложений (например, с использованием wxgtk) размеры начнутся от 6-7 MB.

barti_ddu
()
Ответ на: комментарий от a3

>Для меня такие заявления — то письменное подтверждение чьих-либо произвольных ограничений и технических беспокойств. Такие заявления практически никогда не имеют какого-либо отношения к реальности и к тому, что будет успешным, а что — нет.

ага, видел я приверженцев такого подхода. сайт с цитатами(текстовая информация, никаких картинок!) был сделан на веб2.0 и кое-как шуршал страницами, у ютуба с видео наполнением отклик и то был выше.

stave ★★★★★
()
Ответ на: комментарий от stave

кстати как впрочем и каждый 2 форум аля vBulletin, который выдает о недостатке мощности уже на 150 пользователях

stave ★★★★★
()

Когда я делал инсталляшку для своего приложения с GUI (pygtk), размер получился 4.8М (16.7М в развернутом виде). При этом я для каждого файла, методом удаления, узнал нужен он или нет

blade
()

недавно писал нагрузочного тестового тисипи-клиента , с использованием твистед
код составил буквально 20 строк
потом переписал это полностью на си - получилось кода аж 2 страницы
питон весьма лаконичен

kto_tama ★★★★★
()
Ответ на: комментарий от a3

главное это не забить на оптимизацию, а чётко представлять когда она нужна а когда нет. Уж очень много примеров видел когда народ потом хвататлся за голову в попытках понять как это можно ускорить или хотя бы кластеризовать :)

true_admin ★★★★★
()

Особых проблем нет, в основном по-мелочам типа неработающий os.popen в win32.

h8 ★★★
()

а еще разный принцип форканья в винде и линуксе

blade
()
Ответ на: комментарий от GAMer

> Хм, а можно ли сделать препроцессор для {} в отступы? Или уже может кем то изобретено?

Сделать то можно, но тогда python уже не будет так красив :)

mrhx
() автор топика
Ответ на: комментарий от Devix

> И отступы, отступы же:)

это не проблема
это мелочь

kto_tama ★★★★★
()
Ответ на: комментарий от a3

> Для меня такие заявления — то письменное подтверждение чьих-либо произвольных ограничений и технических беспокойств. Такие заявления практически никогда не имеют какого-либо отношения к реальности и к тому, что будет успешным, а что — нет.

Серьезное "но": потоковое видео, хотя и прокачивает допустим 1000М в час, позволяет увидеть результат в первые же секунды. Однако, если ты сделаешь "бесплатно попробуйте" игрушку на смоллтолке с инсталлятором в 100М, не факт, что ее вообще скачают. Ибо долго.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от a3

> Сам факт просмотра 200-килобайтового изображения во много раз перевешивал любую попытку уменьшить количество обрамляющего HTML-кода

Опять упущен серьзный момент. Гугль скорее всего имеет географически распределенную систему для уменьшения нагрузки на свой сервис. Вася пупкин же (или даже godaddy.com), сделавший 200-к html странички, столкнется с тормозами -- хостинг в америке/канаде, а пользователи -- в россии.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от GAMer

> Хм, а можно ли сделать препроцессор для {} в отступы? Или уже может кем то изобретено?

лучше побольше скобок добавить

CL-USER
()

У меня тот же вопрос, но по отношению к Python/Jython/Iron Python. Хочется иметь некоторый набор функционала на чисто питоне и "родную" для соответствующей среды морду, которая, конечно, будет писаться для каждой платформы отдельны.

den73 ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> Опять упущен серьзный момент.

Вообще, поинт того сообщения был не в том, что надо полностью забивать на оптимизацию и поиск более оптимальных решений, а в том, что как говаривал Дон Кнут "Premature optimization is the root of all evil". Думать только о быстродействии и занимаемой памяти и считать это основным критерием нужности/ненужности, без оценки профита, которого дает то или иное решение -- глупо, вот и все.

a3
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.