LINUX.ORG.RU
 
muhas

Лидер сообщества Ubuntu представил стек для унификации GUI приложений


0

0

Джоно Бэкон (Jono Bacon), менеджер по взаимодействию с комьюнити компании Canonical, опубликовал в своем блоге заметку, в которой предложил по аналогии с web-стеком LAMP (Linux, Apache, MySQL, PHP), сформировать базовый набор для быстрой и удобной разработки GUI-приложений, который, по его мнению, может существенно ускорить темпы развития GUI-программ для Linux и привлечь новых разработчиков.

  • Язык программирования Python;
  • Графический тулкит GTK;
  • Десктоп окружение GNOME;
  • Мультимедиа фреймворк GStreamer;
  • Среда для быстрого проектирования элементов интерфейса Glade;
  • Библиотека для хранения данных DesktopCouch, представляет собой попытку интеграции возможностей хранилища CouchDB в десктоп-приложения (например, позволит организовать синхронизацию и репликацию данных между компьютерами).

Также рассказано о новом проекте Ground Control, представляющем собой интегрированный в файловый менеджер Ubuntu GUI интерфейс для упрощения процесса создания проектов, их сборки и синхронизации с Launchpad. Взято с opennet

>>> Подробности


[#] Ответ на: комментарий от EvgenijM86 04.02.2010 4:18:18  

>Возможно я извращенец, но сам я использую Qt + Haskell.

И тебе доступен _весь_ функционал Qt? Т.е. нет ничего от Qt, что можно использовать в с++, но нельзя в Haskell?

**** ()
[#] Ответ на: комментарий от legolegs 04.02.2010 2:21:12  
vertexua

Вопрос. Делали лабу в универе. Всем известно о copy-on-write.

Загружаем 1,5 ГБ данных - норм, форкаемся на четыре процесса - out of memory. Но мы же ничего не писали? Алгоритм рассчитан на использование этих данных только для чтения. К примеру если я просто просуммировать эти числа хочу в 4 процессах, то почему есть проблема? Copy-on-write не работает в таком простом случае?

*** ()
[#] Ответ на: комментарий от NiggasLife 04.02.2010 22:38:07  

> Не троллинга ради, что было опробовано из линуксов?

Поскольку меня интересовали конкретно кеды 4, то - OpenSuse (полные руины) и Mandriva (мелкие затыки, но в целом хорошо).

А что, в арче при фракчуре всё так нехорошо стало?

* ()
[#] Ответ на: комментарий от vertexua 05.02.2010 1:25:29  

>Всем известно о copy-on-write.

Всем, да не всё. Реально 4 процесса занимали полтора гб памяти, но формально - 6гб, а их у вас скорее всего в системе столько памяти не было даже со свопом, поэтому ядро и не дало запустить лишнее. Потому что ему не непонятно что делать, если ваша прога начнёт реально изменять память в каждом из экземпляров. malloc может вернуть 0 если память кончилась, а как объяснить программе, что память, которая уже выделена на самом деле не существует?

На лоре в том году пробегала новость про статью про память с инфой по этой теме. Не помню точно ключевые слова. Не то "что каждый программист должен знать о памяти", не то что-то про OOM-killer. Первое, впрочем, по-любому стоит прочитать.

В конкретном случае нужно либо юзать shared memory, либо разрешить ядру давать программам такие потенциально невыполнимые обещания по памяти.

*** ()
[#] Ответ на: комментарий от legolegs 05.02.2010 2:05:18  

Вдогонку. У меня возникла мысль и я её проверил. На моей 64хбитной машине нижеприведённая программа успешно отработала.

int main()
{
	vector<char> v(1024*1024*1024,42);
	int ch;
	for (ch=0;ch<256;ch++)
	{
		int child = fork();
		if (child==0)
		{
			fprintf(stderr,"child #%d\n",ch);
			break;
		} else if (child==-1)
		{
			fprintf(stderr,"fork #%d failed\n",ch);
		}
	}
	sleep(60);
	fprintf(stderr,"child[%d]: v[%d]=%d\n",ch, ch*256, v[ch*256]);
}
Имелись незначительные тормоза в виде рваной прокрутки в браузере, но не более того.

*** ()
[#] Ответ на: комментарий от anonymous 05.02.2010 1:08:43  
AP

> Отсюда и появляется куча неполноценных уродцев типа ... "клон gimp, но на qt", "клон f-spot, но на C++".

Первого не существует, второй со всей очевидностью уделает f-spot в обозримом будущем.

***** ()
[#]  

А потом собраться всем вместе и вшить всё это дело в ядро.

*** ()
[#] Ответ на: комментарий от vertexua 05.02.2010 1:25:29  

> Copy-on-write не работает в таком простом случае?

А как вы представляете работу copy-on-write? Дай угадаю, волшебным образом создаётся новый процесс, никаких структур, описывающих его адресное пространство нет, и, следовательно, он ничего не занимает?

anonymous ()
[#] Ответ на: комментарий от yk4ever 04.02.2010 20:21:06  

> Может, у вас просто проблемы с /dev/hands?
В таком случае у вас проблемы с /dev/brain, точнее полное их отсутствие вследствие отсутствия самого /dev/brain.

***** ()
[#] Ответ на: комментарий от Lumi 04.02.2010 17:34:59  
VladimirMalyk

> эта штука будут прибита корабельными гвоздями

если решение будет удачным - оно и в винду придет в гости к дотнет

> причём половина из них не собирается, а половина собравшихся просто не работает


тут есть над чем попахать - но оно того стоит

*** ()
[#] Ответ на: комментарий от xscrew 03.02.2010 14:51:53  

>Тем более Qt - там не только гуи, там есть классы для сети, для работы с графикой, опенгл, и много еще чего. Он универсальнее.

Есть glib, в котором и гио и куча блекджеков и шлюх.

>>GTK легковеснее и красивее.

>Легковеснее - это да, но это не значит что он не тормознее, да и возможности никакие. Это как получается, гтк - гуи, еще что-то - другая либа, что-то еще - еще либа.

гтк+ и глиб - почти одно целое. Имейте это в виду.

>>подумайте, а вам так ли нравитися кодить на C++

>Нравится, да и темболее, с Qt с++ совсем не ужасен.

Ужасен. Чесслово, горбатого могила исправит.

* ()
[#] Ответ на: комментарий от PolarFox 03.02.2010 14:44:44  

>> Среда для быстрого проектирования элементов интерфейса Glade;

>libglade deprecated же. Они хотели сказать gtk.builder.

Депрекэйтед только libglade. глэйд - это среда для рисования гуя и она никуда не делась. А какая библиотека будет юзаться для отображения этого дела - дело десятое.

* ()
[#] Ответ на: комментарий от xscrew 03.02.2010 15:05:30  

>>Да, а что ты видишь здесь не верным?

>Ну да, юниксвей головного мозга.

Юнихвей это хорошо!

>>Если отзывчивость видно, то вам стоит подумать о смене своего селерона с 300мгц на что-то более отзывчивое.

>Да хотябы поглядите на psi и на gajim. Это очевидно.

Гаджим лучше, это очевидно.

>>Легковеснее - это да, но это не значит что он не тормознее >/0

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

Быстрей. Особенно на слабой машине.

>>>да и возможности никакие.

>>Чушь, враньё и провокация.

>А какие, формочки рисовать, кнопочки и все? В Qt уже анимацию даже встроили. <- Хотя да, так как в вашем гтк этого нет, вы скажите что это не нужно.

Именно так и скажу. Или лучше не буду говорить. А спрошу: нафига нужно встраивать куда-то анимацию? Просто потому что это типа круто?

* ()
[#] Ответ на: комментарий от AP 05.02.2010 2:48:25  

> Первого не существует,

Krita?

* ()
[#] Ответ на: комментарий от Lumi 05.02.2010 9:41:26  

> В таком случае у вас проблемы с /dev/brain, точнее полное их отсутствие вследствие отсутствия самого /dev/brain.

КИСА ТЫ ЧТО АБИДЕЛАСЬ?

* ()
[#] Ответ на: комментарий от matimatik 05.02.2010 11:12:15  

> Быстрей. Особенно на слабой машине.

Здесь заметим, что под виндой куте почему-то существенно бодрее гтк. Под линупсами такой заметной разницы нет.

* ()
[#] Ответ на: комментарий от yk4ever 05.02.2010 13:00:20  
AP

> Krita?

http://www.linuxgraphics.ru/articles.php?article_id=54

«Насколько я помню, работа над Krita была возобновлена в 2002 году по причине того, что не было свободной программы для художников, верно?

Баудевейн: Да — вроде того. Я купил графический планшет, в комплекте с которым шла программа Procreate Painter — урезанная версия Corel Painter. Программа сама по себе была не такой уж и хорошей, но существовавшим свободным аналогам до нее было как пешком до Пекина. Меня эта тема настолько заинтересовала, что я прочитал несколько научных работ и диссертаций и понял, что подход Painter сам по себе был достаточно ограниченным. Равно как и подход Photoshop или GIMP. Поэтому я начал работать над собственным проектом, но вскоре понял, что было бы разумнее присоединиться к существующему.

В то время Krita как проект угасал — программа могла показывать многослойные изображения, но рисовать в ней было нереально. Тогдашний руководитель проекта, Патрик Джулиен (Patrick Julien), очень помог мне. Иногда я говорю, что именно он научил меня C++! И вот шаг за шагом я довел Krita до уровня, когда программой стало интересно пользоваться. Тогда к проекту начали присоединяться новые люди, одни — чтобы исправить мои ошибки, другие — потому что им чего-то в ней не хватало.

Сирил: У каждого из нас собственные мотивы работы над Krita. Если Баудевейн заинтересован в рисовании, то Каспер Бёман (Casper Boemann) присоединился к нам потому, что ему нужен был редактор, позволяющий обрабатывать изображения в режиме 16 разрядов на цветовой канал — для проекта симулятора полетов, над которым он тогда работал.»

Ну и в каком месте крита — клон гимпа на кьюте?

***** ()
[#] Ответ на: комментарий от yk4ever 05.02.2010 13:03:14  

>Под линупсами

К логопеду, быдло!

anonymous ()
[#] Ответ на: комментарий от anonymous 04.02.2010 19:38:38  

> А куда? Писать на C для гнома - ужоснах!

На Val^W Mono %)

***** ()
[#] Ответ на: комментарий от yk4ever 05.02.2010 1:26:59  
NiggasLife

Эту историю я не устану повторять :) После бытности убунтоидом полгода, скачал Арч, почитал ихнюю Вики, решил снести свою 8.10 (стала тупить в геометрической прогрессии, хуже любой винды). Поставил, заапдейтил, настроил, 3 месяца радовался Пакману и стабильности, а потому сдуру и без бэкапа решил обновиться с -Syu, после вего произошел fail. ИЧСХ, после (о ужас) переустановки kernel26-2.6.31-5 стало вешать систему на ACPI init (так вроде), я покопался еще немного и забил. Потом поставил на десктоп Arch x64, там иксы раз в 4-5 минут рестартились без эрроров в логе, хотя, есть подозрение на GDM. После апдейта драйверов и иксов стало лучше, 3 дня работал отлично, но потом внезапно словил красивый вылет. После этого ненавижу Арч, сижу на Фейл7 и мечтаю о Слаке. Такие дела

()
[#] Ответ на: комментарий от NiggasLife 05.02.2010 23:39:52  

> ненавижу Арч, сижу на Фейл7 и мечтаю о Слаке. Такие дела

Феерично.

***** ()
[#]  
amix

Python + Qt; KDE; Tokyo Cabinet (не вижу резона всё в кучу).

вот только для Qt была бы обвязка попитоничнее...

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

* ()
[#] Ответ на: комментарий от yk4ever 05.02.2010 13:03:14  

>> Быстрей. Особенно на слабой машине.

>Здесь заметим, что под виндой куте почему-то существенно бодрее гтк. Под линупсами такой заметной разницы нет.

Не знаю я под венду не пишу, тем более на куте. В последний раз писал морду к бд на pygtk. Там нужно было, чтоб оно под оффтопиком тоже работало.

Тестировал сначала на вайне, потом принесли ноут с вендой. Под вендой оно заметно подтормаживало.

Отсюда напрашивается предположение: может это порт gtk под вантуз тормозит, а не куте там быстрее?

Впрочем бенчмарков не делал и вообще мне на это пофиг.

* ()
[#] Ответ на: комментарий от tia 03.02.2010 14:43:20  
Siado

>И да, вот все кто говорит "C++ + Qt" подумайте, а вам так ли нравитися кодить на C++? Вот представьте что у C++ синтаксис и фичи пайтона. Что, удобно, да? Если уж подставлять что-то с Qt, то D или тот-же пайтон.

Во первых сходи уже к логопеду, со своим пАйтоном.

Во вторых C++/Qt4 != C++ . Там куча всяких удобных няшек что и в питоне. А уж по быстродействию отгадай кто лидирует для гуя.

*** ()