Як напісаць прыкладанні KDE і GNOME

fedora_gnome_and_kde

Адпомсціўшы за тэхнічныя цяжкасці і адсутнасць супрацоўніцтва, якія прывялі да перапынення серыі "The MicroKernel" у мінулую суботу, і з праблемай пераўзыходу пасады Пандэва ў якасці тролінгу, я збіраюся звярнуцца да гумару блога Linux Ненавіснікі каб было зразумела некалькі рэчаў.

Як напісаць прыкладанне KDE.

  1. Звярніце ўвагу на паўуспешную праграму з адкрытым зыходным кодам
  2. Пераканайцеся ў тым, што пісаць на C ++ - гэта найлепшы спосаб мастурбаваць, і што вывучэнне Qt лепш, чым праводзіць час з сяброўкай, бо гэта так прыгожа
  3. Нагадайце, чаму MOC (Music On Console) нядрэнны.
  4. Вазьміце імя прыкладання, sed s / [cg] / k /, пераканайцеся, што ў вас не апынулася тры касы ў чарзе. Калі няма касы, дадайце яе ў пачатку.
  5. Падумайце пра любую функцыю, скіраваную на карыстальніка, якую можа прадаставіць ваша дадатак
  6. Функцыя Foreach: стварыць пласт абстракцыі, які дрэнна падтрымлівае прынамсі 3 іншыя бэкэнды
  7. Функцыя Foreach: кнопка стварэння на панэлі інструментаў
  8. Функцыя Foreach: стварыць пункт меню
  9. Пераканайцеся, што ён можа раздзяляць вокны, ствараць укладкі і падтрымліваць KParts. Калі вы не можаце думаць пра карыстацкі інтэрфейс, імітуйце Windows.
  10. Пераканайцеся, што ён выкарыстоўвае Phonon і KAddressBook. І стыкоўны тэрмінал.
  11. НІКОЛІ не выкарыстоўвайце бібліятэку, імя якой мае g. НІКОЛІ.
  12. Размясціце яго на KDE-Look.org
  13. Паабяцайце ўсім, што вы перанясеце яго ў Windows, але не
  14. Раз у некалькі гадоў выкарыстоўвайце агляд інструментарыя як нагода пачаць усё з нуля.

Як напісаць прыкладанне GNOME.

  1. Шукайце разумнае прыкладанне з іншай платформы (Windows, Mac, KDE, што заўгодна, пераважна Mac). Дадатковыя балы, калі ўжо ёсць 3 іншыя альтэрнатывы на аснове gtk, якія не хочуць інтэгравацца ў Gnome.
  2. Імя ПАВІННА мець g. Дадатковыя балы, калі гэта можа быць "gn". Калі вы можаце выкарыстоўваць "gnu", "gno" ці "gna", вы геніяльны, і ваша праграма будзе вартая выкарыстання. Пераканайцеся, што назва вашай праграмы не мае вялікага дачынення да таго, што яна на самой справе робіць. Акрамя таго, НІКОЛІ не дакументуйце, калі g вымаўляецца моцна.
  3. Аб O ў Gnome азначае аб'ект. Ён выкарыстоўвае структуру аб'екта D-Bus. Калі вы таксама выкарыстоўваеце Bonobo, тым лепш. Пераканайцеся, што хаця б адна платформа працуе ў сетцы, але таксама пераканайцеся, што ваша прыкладанне ніколі не выкарыстоўвае яе ў сетцы.
  4. Памятайце, што аб'ектна-арыентаваная ў C не так ужо і дрэнна. сцвярджаць (gtk_not_in_serious_not_so_ bad). Акрамя таго, памятайце, што GTK + значна лепш, чым Qt, таму што ў вас няма камерцыйнай кампаніі, якая піша для яго код. Такім чынам, ведаеце, гэта больш свабодна ці штосьці, і ў назве ёсць знак +.
  5. Стварыце абгорткі для любой мажлівай мовы, але пераканайцеся, што ні адна з іх не працуе дакладна так, як вы хочаце. Вы патрабавалі, каб ваша гнуткая ўпакоўка была ў кожнай абгортцы ў асобнай ўпакоўцы.
  6. Растлумачце прынамсі тром іншым праграмістам, як glib не мае шмат агульнага з gnome. Таму што яны клапоцяцца.
  7. Не забудзьцеся абразкі Tango!
  8. Пераканайцеся, што ваша прыкладанне кампілюецца ў Windows, але выглядае як SHIT.
  9. Пералічыце ўсе функцыі, якія вы хочаце мець у вашай праграме.
  10. Адкіньце 90% з іх. Таму што зрабіць гэта складана. Але скажыце ўсім, што яны ім сапраўды не патрэбныя.
  11. Рэалізаваць 2% з іх. Астатнія 8% схавайце ў gconf. Схавайце іх добра.
  12. У вашым інтэрфейсе не павінна быць больш за 4 кнопак.
  13. Пераканайцеся, што ваша праграма залежыць прынамсі ад 4 іншых бібліятэк, якія маюць g у назве. Гэта робіць яе больш гномерай.
  14. Не выкарыстоўвайце Mono, таму што вы перадасце венерычныя захворванні ўсім. Не чакайце, выкарыстоўвайце Mono, бо гэта зробіць вас значна больш прадуктыўнымі. Пачакайце, не, не выкарыстоўвайце Mono, таму што калі вы гэта зробіце, дыстрыбутыў, які затрымліваецца, які ніхто не выкарыстоўвае, не распаўсюдзіць вашу праграму.
  15. Абапіраючыся на модуль, які "ідзе да запланаванага састарэння"
  16. Будзьце ўпэўненыя, што, нягледзячы на ​​тое, што ваша праграма адстойная, яна, па меншай меры, адпавядае кіраўніцтву чалавечага інтэрфейсу.

Змест артыкула адпавядае нашым прынцыпам рэдакцыйная этыка. Каб паведаміць пра памылку, націсніце тут.

33 каментарыяў, пакіньце свой

Пакіньце свой каментар

Ваш электронны адрас не будзе апублікаваны.

*

*

  1. Адказны за дадзеныя: Мігель Анхель Гатон
  2. Прызначэнне дадзеных: Кантроль спаму, кіраванне каментарыямі.
  3. Легітымнасць: ваша згода
  4. Перадача дадзеных: Дадзеныя не будуць перададзены трэцім асобам, за выключэннем юрыдычных абавязкаў.
  5. Захоўванне дадзеных: База дадзеных, размешчаная Occentus Networks (ЕС)
  6. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.

  1.   F3niX сказаў

    Ха-ха-ха, калі кароль носіць малпу, не карыстайся ха-ха-ха, добра гэта. Стварыце тры пласты абстракцыі ха-ха-ха

  2.   як хто сказаў

    LOL
    Правільным было б апублікаваць праграмы KDE на kde-apps.org, так? 😛

  3.   Вікі сказаў

    Самае смешнае, што арыгінальны артыкул на англійскай мове быў напісаны ў 2008 годзе, але пераважная большасць рэчаў усё яшчэ адпавядае рэчаіснасці. Асабліва:

    Пералічыце ўсе функцыі, якія вы хочаце мець у вашай праграме.
    Адкіньце 90% з іх. Таму што зрабіць гэта складана. Але скажыце ўсім, што яны ім сапраўды не патрэбныя.

    1.    дыязепан сказаў

      Я сапраўды крыху змяніў рэчы, улічваючы сённяшні дзень. У зыходным паведамленні было 4 аб'ектныя структуры (D-Bus, Bonobo, Corba і Orbit), і ён сказаў, што выкарыстоўваць па меншай меры 2. Corba ўжо знік, і Bonobo састарэў. Сёння выкарыстоўваецца D-Bus

    2.    Віндузіка сказаў

      Ну, думаю, ён страціў свежасць. Гэта па-ранейшаму смешна, таму што мы да гэтага часу не забыліся пра часы GNOME 2 і пачатак KDE 4 (смешна, што пункты 10, 11 і 12 GNOME па-ранейшаму дзейнічаюць).

  4.   eVeR сказаў

    ха-ха-ха, я памёр.
    Ён добра пачаў працу з KDE і "Функцыя Foreach: стварыце пласт абстракцыі, які дрэнна падтрымлівае прынамсі 3 іншыя бэкэнды" (vlc, gstreamer і xine прыходзяць на розум; ніхто не мае рацыі)
    Прыкладанню неабходна было выкарыстоўваць Akonadi і Nepomuk, але тыя часткі, якія не працуюць, і ніхто не ведае, для чаго яны патрэбныя ... ах, і што пры змене памеру акна элементы яго жудасна дэфармуюцца ...

    Але калі я дабраўся да часткі Gnome, там сапраўды зламаўся:
    "Стварыце абгорткі для любой мажлівай мовы, але пераканайцеся, што ніводная не працуе дакладна так, як вы хочаце" і "Пераканайцеся, што ваша прыкладанне кампілюецца ў вокнах, але выглядае як SHIT." Забіраюць усе далоні, ха-ха.
    прывітанне

  5.   ДаніэльС сказаў

    Больш за ўсё мне спадабалася, што нават калі няма распрацоўшчыкаў, проста, прагледзеўшы колькасць крокаў для аднаго і іншага, вы разумееце, што прасцей запраграмаваць у Qt. 2 крокі менш - гэта 2 крокі менш, як яны кажуць. xD

    1.    eliotime3000 сказаў

      Акрамя таго, QT адаптуецца да (амаль) любога тыпу інтэрфейсу працоўнага стала.

      1.    ДаніэльС сказаў

        Але гэта заслуга не Qt, а тых, хто адаптуе іх да вашага працоўнага стала.

        Гэта як калі б вы сказалі мне, што Gnome 3.6 gtks адаптаваны да карыцы 1.6., 1.7 і 1.8, калі гэта заслуга тых, хто развівае карыцу, а не тых, хто распрацоўвае Gnome ці gtk.

  6.   pandev92 сказаў

    Выбачайце, калі вы дабярэцеся да 340 каментарыяў, якія робяць паведамленне найбольш каментаваным ва ўсім блогу, толькі за гэтым запісам у аглядальніках,
    xD, вы мяне пераўзышлі аха-ха

    1.    Хуан Карлас сказаў

      Хіба што вы нанялі @elav, каб атрымаць больш доступу да блога ... ха-ха-ха.

      1.    pandev92 сказаў

        ха-ха-ха-ха LOL

    2.    дыязепан сказаў

      Я сказаў у якасці тролінгу, а не ў каментарах. Твой ліпкі.

    3.    eliotime3000 сказаў

      Каб карыстальнікі, якія карыстаюцца састарэлымі машынамі (як у маім выпадку), маглі праглядаць полымя, не чакаючы загрузкі блажэнных каментарыяў, вы б паставілі толькі вытрымку з вашага паведамлення, і поўнае полымя было б звязана з форумам тут , дарэчы, вы папрасілі іх абмеркаваць на форуме, каб не насычаць старонку для прагляду (калі яны не зробяць праблемы з устаноўкай Disqus, але, як Disqus і іншыя менеджэры каментарыяў, іх нельга наладзіць, як тыя, якія ўваходзяць у WordPress , вы разумееце, чаму).

  7.   pandev92 сказаў

    8-Пераканайцеся, што ваша прыкладанне кампілюецца ў Windows, але яно выглядае як SHIT.

    Ну, у гэтым выпадку я магу сказаць, што некаторыя прыкладання qt таксама выглядаюць жудасна, проста паспрабуйце qbittorrent пад Windows 7 ці 8, каб убачыць, як гэта непрыгожа выглядае.
    У такіх вокнах, як 90% прыкладанняў, выглядае непрыгожа, бо вы самі павінны зрабіць гэта тэмай ...

    1.    eliotime3000 сказаў

      Відавочна, таму што QT адаптуецца да тэмы, якая выкарыстоўваецца кампіляваным інтэрфейсам кожнай АС (вельмі яскравы прыклад - VLC, які выдатна выглядае ў KDE і Aqua, але ў Windows гэта зусім сумна).

  8.   элендальнарсіл сказаў

    Гэй, Дыязепан, калі казаць пра тролінг, у першым радку правільна сказаць: "яны ехалі", а яны не ездзілі.

    1.    дыязепан сказаў

      выпраўлена

      1.    элендальнарсіл сказаў

        Дзякуй, таварыш.

  9.   Гіскард сказаў

    "І з праблемай пераадолення пасады Пандэва як тролінгу"
    HA HA HA HA HA HA HA. Вы вельмі высока паставілі планку !!! 😀

    1.    дыязепан сказаў

      Паўтараю тое, што я сказаў Пандэву: "Я сказаў, што тролінг, а не ў каментарах".

  10.   Забойца_смецця сказаў

    > Пераканайце сябе, што пісаць на C ++ - гэта найлепшы спосаб мастурбаваць, і што вывучэнне Qt лепш, чым бавіць час з сяброўкай, бо гэта так прыгожа.

    > гэта канчатковы спосаб мастурбаваць
    > гэта лепш, чым праводзіць час з сяброўкай
    > Мануэла паўсюль

    ха-ха

  11.   Павесьце1 сказаў

    Я думаў, што гэта адзіны, хто выкарыстаў "libretardado" як пераклад Freetard ха-ха.

    1.    дыязепан сказаў

      Я таксама разглядаў магчымасць перакладу гэтага як "libertarado" (свабода і дэбіл)

      1.    GGGG1234 сказаў

        Я бачу яго хутчэй "адсталым", чым "дэбілам". Ва ўсякім разе, яны дурныя. У любым выпадку, яны выконваюць сваю мэту ...

  12.   кікі сказаў

    Мне здаецца, як звычайна, пост: тыя, хто выкарыстоўвае KDE для раздушэння Gnome, я не думаю, што адзін лепшы за другі, яны розныя, максімальная прастата супраць перагрузкі. І іншая справа, што мовы праграмавання больш высокага ўзроўню прасцей у выкарыстанні, але менш аптымальныя пры выкананні прыкладанняў, створаных на гэтай мове, праграма-асэмблер працуе лепш, чым адна на C, а адна на C працуе лепш, чым адна на C ++. што Qt лепш, чым GTK +, таму што ён знаходзіцца ў C ++, мне здаецца памылковым, таму Torvalds не хоча ні аднаго радка C ++ у ядры, і ў асэмблеры ёсць такія часткі, якія запраграмаваны, як загрузка ядра.

    1.    x11tete11x сказаў

      Як вы патлумачыце, што QT найбольш часта выкарыстоўваецца ў мабільных тэлефонах? у тым, што гэта каманды з абмежаванымі рэсурсамі ... На якой аптымізацыі вы абапіраецеся, каб сказаць так? Усё залежыць ад кампілятара, калі ён выконвае нейкую статычную апрацоўку планавання, а іншая не робіць, відавочна, што гэта будзе больш эфектыўна, чым іншая ... з іншага боку, вы бачылі спіс распрацоўшчыкаў ёсць для кожнага праекта?, для GTK ёсць толькі адзін штатны распрацоўшчык, і ў апошні час кожная новая версія парушае сумяшчальнасць з папярэднімі ... ваш каментарый здаецца хутчэй супраць аб'ектна-арыентаванага праграмавання ...
      З іншага боку, што вы называеце перагружаным? Я карыстальнік KDE, і пры перагрузцы мы інтэрпрэтуем гэта як спажыванне аператыўнай памяці, KDE, дзякуючы сваёй модульнасці, можа быць настроены, ахвяруючы некаторымі зручнасцямі, якія ён прапануе, каб спажываць значна менш, чым Gnome ( што ў Gnome, я не ведаю, можа), калі мы зноў гаворым пра мінімалізм, KDE дзякуючы сваёй модульнасці можа быць "настроены" на тысячы спосабаў зрабіць яго вельмі "мінімальным" (не перагружаным), калі мы трактуем яго як колькасць прыкладанняў, якія ён прыносіць, тады я са шкадаваннем скажу вам, што нельга казаць пра адно цяжэйшае за другое, таму што і KDE, і Gnome могуць усталяваць свае базавыя версіі, якія прыносяць толькі неабходныя праграмы.
      Нарэшце, з QT вы можаце зрабіць тое, чаго не можаце з GTK

      1.    pandev92 сказаў

        qt больш выкарыстоўваецца на мабільных тэлефонах, таму што мае прыстойную ідэю, таму што гэта больш поўная мова на ўзроўні графічнага інтэрфейсу і г.д.

      2.    кікі сказаў

        - Я даслоўна цытую фразу Лінуса Торвальда, якая вельмі дакладна вызначае меркаванне многіх:

        «C ++ - жудасная мова. І гэта яшчэ больш жахліва тым, што шмат хто з праграмістаў другога ўзроўню выкарыстоўвае яго, да таго, што нават прасцей і лягчэй ствараць з яго непатрэбны смецце. Шчыра кажучы, нават калі рашэнне выкарыстоўваць C не мела * нічога * агульнага з тым, каб утрымліваць праграмістаў C ++ па-за межамі праекта, гэта было б выдатнай нагодай для выкарыстання C. "

        -Пры перагружанай я маю на ўвазе інтэрфейсы, поўныя кнопак і опцый, дзе вы можаце згубіць сябе, а потым палова з іх нічога не робіць ці нешта нязначнае (я не ведаю, ці азначае гэта рабіць больш рэчаў, чым GTK), праблема спажывання памяці асобнае пытанне, гаварыць пра гэта не трэба.

        - @ pandev92 вельмі добра вызначыўся, таму што QT шмат выкарыстоўваецца ў мабільных тэлефонах, але мы павінны сказаць усю праўду, таму што GTK - гэта той, які найбольш часта выкарыстоўваецца ў настольных прыкладаннях, што для мяне з'яўляецца важнай рэччу, і менавіта для гэтага большасць GTK2 што лепш, чым GTK3, бо, як вы кажаце, ён радыкальна змяняецца ў кожнай версіі, але GTK2 па-ранейшаму мае падтрымку і, магчыма, больш, чым GTK3, дзякуючы прыкладанням, якія іх выкарыстоўваюць, напрыклад, Firefox.

        1.    x11tete11x сказаў

          Я вельмі паважаю меркаванне Торвальдса, але, як ён кажа, ён мае на ўвазе некампетэнтных праграмістаў, хаця і не любіць C ++, калі ў вас ёсць праграміст на C, які з'яўляецца жывёлай, з дапамогай C ён не створыць добрых праграм , яны будуць Каб працягваць быць смеццем, я таксама бачыў З, і ў мяне былі калегі, якія маглі кіраваць рэчамі некаторы час, яны кіравалі імі з перапынкам унутры ¬¬, што я і збіраюся з майго пункту гледжання, З гэта выдатная мова, але калі за ёй стаіць патрон, усё роўна што і нічога.

          Што тычыцца інтэрфейсу, ён даволі суб'ектыўны. 90% прыкладанняў KDE могуць наладзіць, якія кнопкі вы хочаце бачыць у акне. Калі вы лічыце, што ёсць непатрэбныя рэчы, проста выдаліце ​​іх і ўсё.

          Што тычыцца мабільных тэлефонаў, хоць гэта праўда, што гэта структура, за QT значна больш людзей, чым gtk .. і паляпшэнні ў адносінах да OpenGL пастаянныя, карацей, я люблю імператыўныя мовы, але я разумею, што ёсць рэчы, якія яйка боль зрабіць іх на мовах гэтага тыпу, бо існуе паняцце аб'екта

          1.    кікі сказаў

            - Справа не ў наяўнасці добрых праграмістаў ці не, справа ў аднолькавых умовах (добры праграміст, добры кампілятар і г.д. ...) C здольны атрымаць большую прадукцыйнасць, чым C ++, таму што гэта ідэальны мікс з моў нізкага ўзроўню і высокага ўзроўню, вядома, праграмаванне на C больш складанае, напрыклад, пры распрацоўцы інтэрфейсаў, але гэта тое ж самае, што і праграмаванне ў ассемблеры, гэта больш складана, але вы атрымліваеце шмат прадукцыйнасці, вось чаму у ядры Linux няма ніводнага радка C ++, C і ассемблер не выкарыстоўваюцца для такіх рэчаў, як запуск ядра.

            - Я сапраўды не разумею інтэрфейсы KDE, я маю на ўвазе, я бяру праграму накшталт мангала (GTK), а потым іншую накшталт K3B (QT), і калі K3B мне здаецца, што інтэрфейс вельмі перагружаны, поўны кнопак і опцый якія не выкарыстоўваюцца, тады я магу зрабіць так, каб кнопкі і меню знікалі магіяй? Ну, я чую гэта ўпершыню.

        2.    x11tete11x сказаў

          На жаль, я да гэтага часу не разумею, чаму вы атрымліваеце большую прадукцыйнасць, на чым вы грунтуецеся, каб сказаць гэта? Я згодны, што гэта залежыць ад кампілятара, усе гэтыя рэчы залежаць ад таго, колькі планавання кода вы робіце, нават да GCC. актываваць яго як эксперыментальную функцыю

          Што тычыцца інтэрфейсаў, вось крышка таго, пра які вы згадваеце, K3B цалкам патрошаны (я вынес панэлі на вуліцу проста, каб паказаць, што іх можна лёгка і прыемна здымаць альбо размяшчаць на месцы, іншая справа - яны выглядаюць цёмнымі, бо я не засяроджваючыся на іх (гэта эфект kwin)) і на панэлі інструментаў вы таксама можаце наладзіць, якія кнопкі будуць даступныя

          http://i.imgur.com/Z1OZqgQ.jpg

  13.   Джнго сказаў

    Як былы праграміст KDE, я кажу вам, што ў гэтым выпадку MOC - гэта НЕ музыка на кансолі. З павагай.

    Мяркую, вы ўбачылі мой каментарый у вельмі Linux і перайшлі да крыніцы, каб скапіяваць і перакласці з дапамогай guugle.

bool (праўда)