ПредишенСледващото

Това съдържание е част от поредицата: Основи на GTK +, Част 3: Внедряването GTK +.

Останете на линия за предстоящите статии в тази серия.

Уникалност - хубаво нещо, но не и за библиотеката. Що се отнася до софтуер, широка популярност и популярността означава повече Коментари Напред съобщения за грешки (и като следствие, отстраняването им), по-вероятно е, че софтуерът ще бъде тествана в необичайни среди и необичайни ситуации. Всичко това води само до подобряване и опростяване на използването на библиотеката. За щастие, GTK + е достатъчно голяма фигура сред инструментите, и един от най-широко използваните софтуерни пакети. Вижте следния списък с различни платформи, които се движат GTK +:

заявление конвейер

Харесва ли ви или не, развитието на заявлението е не само приятно да пиша реда код. За да се създаде един успешен продукт, на първо място, трябва да се създаде процес, който ще позволи на разработчиците да работят правилно.

програмист

Най-критичната част от поточната линия - това е, разбира се, на програмиста. Ако библиотеката е труден за употреба, има странни изисквания или лошо, съвместими с други приложения - то няма да бъде добра основа за вашия продукт. За щастие, GTK + няма тези недостатъци. Нейната програмен интерфейс (API) е в съответствие (с изключение на редките споразумения за обратна съвместимост), лесен за научаване и използване. Ето защо разработчиците са толкова любители на GTK +. Правилно GTK + създатели се е убедил, за да се избегне несъвместимост с други библиотеки: пространство от имена внимателно обмислено (предмет, използван езиците за програмиране), броят на изнесените функции е сведена до минимум, за да се направи на библиотеката по-надеждни и по-бързи програми за сглобяване.

изграждане на система

PKG-довереник команда

PKG-довереник команда е известен със своята проста подход. Този подход се различава от традиционните начини за намиране на библиотеки на UNIX-базирани системи, които в своята bolshiinstve предполагат, използвайки сложни (но, за съжаление, съдържат грешки) скриптове. За разлика от тях, GTK + се осъществява чрез друг метод - използването на фино настроената скрипт GTK-конфигурационния (и glib- и гном-конфигурационния). Във версия 2.0, този метод се почиства и се превръща в универсално решение на име PKG-довереник. и е изпратен за стандартизация в freedesktop проект. Новото решение се оказа толкова удобен, че тя се превръща в де факто стандарт за издирването на библиотеката. И благодарение на подробната документация за грешката е оставил твърде малко пространство.

Нито пък има някакви специални изисквания по отношение на използването на GTK +, всичко, което наистина трябва да го използваме - той е включен в програмата на един файл заглавието. Нито пък някакви Препроцесори или специални компилатори не са необходими, както и всичко друго, което може да даде непредсказуеми резултати.

Сам GTK + използва GNU Autotools, така че има готови макроси за Autoconf и Automake (написани за проекта GNOME), които ви позволяват да се намери и конфигуриране на GTK + библиотека с едно обаждане. Но дори и ако използвате различен изграждане на системата, лесно можете да го интегрира в GTK +. Всичко, което трябва да се направи - това е предизвикателство, прав PKG-довереник. Ако сте с помощта на система, основана на директории (като Microsoft Visual Studio) - трябва само да включите няколко директории към пътя на изграждане.

Ние разпространява готовия продукт

Разпределение на готовите приложения за потребителите е силно зависимо от платформата, която използват, така че трябва да се подготви за това, което е начин да се интегрират вашата кандидатура и GTK + ще варира от една система на друга. На платформата UNIX и по-специално на Linux® GTK + е система библиотека, разпределени операционна система доставчик. Ако не отговарят на предварително зададените в системата GTK + или той не е там, моля свържете се с проекта Autopackage (Виж ресурси.). Autopackage - решение, което ви позволява да се изгради пакети, които автоматично ще инсталира липсва библиотека.

На Windows, има голям брой монтажници. За да се разпредели по-голямата част от програмите, включително и GTK +, широко използван стандарт Windows инсталиране инсталатор, както и Nullsoft на NSIS. Всички двоичен дистрибуции GTK + библиотеки използват стандартни ключове в регистъра и конфигурационни данни, което позволява различни приложения да споделят едно и също копие на библиотеката.

Cross-платформа

В зависимост от начина на достъп целевата система в библиотеката (и следователно инсталирането на програмата метод) може да се променя:

  • Що се отнася до Линукс дистрибуции, може разумно да се съди, че GTK + ще се предлага като стандартна опаковка. Повечето дистрибуции доста бързо, включват най-новите ни версии на GTK +, така че почти 100%, може да се очаква, че най-малко един от последните две издания на GTK + ще бъдат включени в разпределението на потребителя. Въпреки това, тъй като никой не може да гарантира, че всички потребители ще използват новата Linux дистрибуция, опитайте се да се стреми към най-старата версия на Linux, която може да стартирате програмата;
  • На компютри, работещи на Windows GTK + контрол напълно страна елементи. Въпреки това, благодарение на равномерно разполагане на различните инсталационни пакети, които можете да разчитате на съществуваща инсталация на GTK +, ако има такива, или да направят своя собствена в другия случай. Тъй като по време на работа на инсталацията GTK + е включена в инсталационния процес, можете да изберете по-свободно целевата версия на библиотеката, но доколкото е възможно се придържаме към по-старите версии;
  • За Mac OS X, GTK + като напълно чужда пакет. Тази система ще бъде по-безопасно да се създаде пакет автономен с цел защита на потребителя от проблемите на зависимост. За да видите пример за такъв пакет, погледнете как да се съберат Gimp.app (Виж ресурси.).

Има няколко забележки относно GTK + на Mac OS X. В всички издадени на новите версии на библиотеката, трябва да използвате X11-към-OS X. Въпреки това, настоящата версия на развитие GTK + мост на Apple, е добавен нов, роден на прозореца, система Mac OS X интерфейс, който в близко бъдеще ще се постигне това ниво на интеграция, която сега се вижда на платформата Win32.

Просто трябва да бъде ясно, че в GTK + е съвместимост на двоично интерфейс (ABI). Библиотека разработчиците се опитват да поддържат обратна съвместимост GTK +, но за вашата кандидатура е единственото средство, което ще поддържат съвместимост с нови версии на GTK +. По-специално, дори ако изходния код използва версия 2.2 API. но молбата е съставен с помощта на библиотеки с версия 2.6, в резултат на изпълнимия файл няма да работи с версия 2.2 библиотеки. И всичко това заради номерата на компилация на най-новата версия на ABI, която по-ранни версии на грешките при връщане повикване.

За да бъдат съвместими двоично ниво с по-ранна версия на библиотеката, като например 2.2, трябва да инсталирате на GTK + версия на това, т.е. 2.2 и съставяне на програмата с помощта на заглавните файлове на библиотеката. Въпреки че не е най-лесният начин за разработчиците, но това е единственият надежден.

Има алтернативни подходи за решаването на този проблем, например, определяне на версията параметри, можете да посочите бутона компилация за да превключвате между версиите на файловете на заглавните. Между другото, този метод се използва в набор от инструменти за разработка на Windows SDK. Въпреки това, този метод има и своята отрицателна страна, в резултат на заглавните файлове на програмата са трудни за разбиране и следователно да подкрепя, а понякога дори да доведе до непредсказуемо поведение програма. Поради тези причини, GTK + разработчиците са решили да се откажат от този метод на компилация.

Ако използвате Linux, можете да получите стари GTK + заглавията в удобно опаковани заедно с други инструменти, които улесняват създаването на изпълними файлове за различни дистрибуции, като посетите проект Autopackage. За подробности вижте ресурса.

GTK + персонализирате за нашите нужди.

Понякога не може да бъде подходящ GTK + настройки по подразбиране. Причината за това може да е в две посоки: или искате да получите допълнителни функции, които не присъстват в основния набор, или искате да влияе на някои аспекти на библиотеката, така че да може по-добре отговаря на вашите нужди.

Първият случай е позволено просто достатъчно. Трябва да се намери външен библиотека, която осигурява желаните функции. Има няколко места, където може да започнат да търсят библиотека. Много често има нужда от подобни на вашите, идват в големи проекти, като GNOME. Поради тази причина, в GNOME, има няколко модула, които изпълняват ролята на "пясък", в която функционира като не са толкова дълго "зрели" за включване в GTK +, въпреки това, те са полезни и работи добре. Най-забележителното единица от този вид в GNOME CVS нарича libegg. Можете също да търсите в обектите, които предоставят хостинг проекти с отворен код, като например SourceForge.net и Freshmeat (Виж ресурси.).

Други случаи възникват, когато трябва да промените някои аспекти на GTK +. Например, може да се наложи да тичам GTK + на вградени устройства с рядка архитектура, или да добавите поддръжка за всеки отделен вид взаимодействие с потребителя. В зависимост от вашите нужди (и възможности), има няколко решения на този проблем.

Въпреки това, ако вашият проект е много сложно, можете да Рискувайте и наемане на специализирана консултантска компания, за да установят контакти с общността и да се определят критичните точки на вашия проект. Това е, което Nokia се вземе решение да се използва GTK +, като основа интерфейс за новата си гама от мобилни устройства. В резултат на това решение е появата на Maemo платформа, която е много добре приет от общността. Внимателен подбор на партньори и методи може да доведе до проект, който и двете страни печелят. Компанията ще донесе на проекта много опитни предприемачи, нетърпеливи да изпробва нова играчка в същото време, общността е получил много подобрения, направени по време на работата по проекта, както и друг начин да се използва библиотеката, която разширява обхвата на възможности за GTK +.

Общността GTK +

Хакери и GTK +

пощенските списъци и други материали, които ще видите препратки към хакерите. Това не означава, че някой се опитва да се справи програмата. В действителност, това е признак, че някой, който работи и е запознат с продукта, запазвайки оригиналното значение на програмата. Така че можете да видите препратки към GTK + хакер, GNOME, хакери и други съобщения във форумите, както и пощенски списъци.

През цялото време по време на комуникация с GTK +, общността се събраха около него, ще бъде вашата подкрепа. Ето защо е важно за вас да знаете откъде да започнете. Това знание ще спести много време и да ви спаси от евентуални недоразумения в комуникацията.

Хората, участващи в развитието на свързани с GTK +, ориентирани главно към три пощенски списъци:

GTK + разработчиците редовно четат всички тези три пощенски списъци, така че не се притеснявайте за това, което ви мине съобщение.

Друго нещо, което трябва да имате една идея, наречена Bugzilla. Това е сеч система грешка където има и база данни грешка в GTK +. Ако забележите някой странно или нелогично поведение програма GTK +, преди да уведоми за това списъци за грешки, погледнете Bugzilla, а не дали някой вече е казал за това на вас. Тук можете също да прави предложения за да помогнем на GTK + още по-добре. Не се колебайте да се регистрирате в нещо, което не сте сигурни, най-важното е, опишете по-подробно. Най-лошото нещо, което може да се случи - това е някой сложи NOTABUG маркер (не е грешка) в съобщението си.

В допълнение към тези източници на информация, можете бързо да получи подкрепата на много IRC канали (чат стаи). Главният сървър на всички разговори за GTK + е GIMP.net. На канали #gtk # гном и обикновено можете да намерите хора, които могат да ви помогнат. Бъди учтив и търпелив, "може", не означава, че "5 минути".

Когато се свържете с общността, вие ще откриете, че има много големи и известни хора. Ето защо, ние може да получите много забавно да работи с тези хора, за да помогнете на някой друг запознат с вашите неща. За да не се да останете разочаровани в общността, не забравяйте две неща: първо, че не е необходимо, че просто се обърне внимание, и второ, че всичко ще бъде наред.

проучване

Развитие на GTK + инструментариум се фокусира върху подобряването и улесняването на работата на разработчиците, така че с всяка нова версия има нови функции, предназначени да направят живота по-лесен разработчици. Ето защо, GTK + осигурява няколко стандарти за оперативна съвместимост, са подобни на тези, определени freedesktop проект (виж ресурси.).

Въпреки това, в момента, тя се развива много интересен проект, който има за цел да подкрепи независими доставчици на софтуер (ISV) и да направи процеса на намиране на правилните инструменти разработчика по-лесно. Тази работа се провежда в рамките на проект на Ридли и се състои от интегрирането на редица независими преди библиотеки и модули в един единствен, лесен за използване и последователна платформа. Така например, в GTK + ще бъде интегрирана част от съществуващите библиотеки днес GNOME, така че те да могат да бъдат използвани на платформи, където работят GTK +. Те включват библиотеки, библиотека libglade, с които вече сте виждали в част 2 вече е планирано за включване в GTK + платформата. Очаква се, че след приключване на проекта Ридли Получената платформата ще бъде номер 3, т.е. ще GTK + версия 3.0 (текущата съвместимостта с клон 2.x ще бъде запазена).

заключение

В тази последна статия в тази серия, "Основи на GTK +" вие се запознахте с много аспекти на създаване на успешни софтуерни продукти. Ти видя как GTK + е подкрепен на различни платформи, най-добрият начин за разпространение на вашето приложение за потребителите. Можете да разберете начините, по които можете да промените GTK +, за да отговори по-добре на вашите нужди. И накрая, можете да получите кратка актуализация на бъдещата версия на платформата, както и информация за това, къде да започнете страхотно пътуване с GTK +.

Надявам се, че скоро ще се срещне с вас по един от пощенските списъци, или може би дори в чата. Ще се видим скоро!

Изтегляне ресурси

Свързани теми

  • Посетете началната страница на GTK + на проекта GTK.org;
  • Открийте autopackage - система инсталационен пакет за много Линукс дистрибуции;
  • Изтеглете Gimp.app. програмен пакет проба GTK + за Mac OS X;
  • Портал хостинг SourceForge осигурява много заявления за проекти и библиотеки GTK +;
  • Посетете хранилище Freshmeat различни проекти. тя има проекти и GTK +;
  • Виж системата за регистриране на грешка за GNOME и GTK + GNOME Bugzilla;
  • Открийте freedesktop проект;
  • проект на Ридли е посветена на сключване GTK + на ново ниво;
  • Посетете сайта за developerWorks Отворен код. за да получите повече информация за методите, средствата и промени в проекти за развитие с технологии с отворен код и да ги използва с продукти на IBM.
  • Използвайте иновации в следващия си проект открит с помощта на софтуер IBM процес. на разположение за изтегляне или на DVD.
Подкрепете проекта - споделете линка, благодаря!