Cum se scrie o aplicație KDE și o aplicație GNOME

fedora_gnome_and_kde

În răzbunare pentru dificultățile tehnice și lipsa de colaborare care au dus la întreruperea episodului de sâmbătă trecută din „The MicroKernel”, și cu provocarea de a depăși postarea lui Pandev ca trolling, am de gând să apelez la umorul blogului. Linux Urașii pentru a clarifica câteva lucruri.

Cum se scrie o aplicație KDE.

  1. Căutați o aplicație open source semi-reușită
  2. Convinge-te că a scrie în C++ este modalitatea supremă de a te masturba și că învățarea Qt este mai bună decât să petreci timp cu prietena ta, pentru că este atât de frumos
  3. Amintește-ți de ce MOC (Music On Console) nu este rău.
  4. Luați numele aplicației, sed s/[cg]/k/, verificați să nu ajungeți cu trei ka la rând. Dacă nu există kas, adăugați unul la început.
  5. Gândiți-vă la orice funcții adresate utilizatorilor pe care aplicația dvs. le poate oferi.
  6. Funcția Foreach: creați un strat de abstractizare care nu acceptă cel puțin alte 3 backend-uri
  7. Pentru fiecare funcție: buton de creare în bara de instrumente
  8. Pentru fiecare funcție: creați element de meniu
  9. Asigurați-vă că poate împărți ferestrele, poate crea file și poate accepta KParts. Dacă nu vă puteți gândi la o interfață de utilizare, imitați una Windows.
  10. Asigurați-vă că folosește Phonon și KAddressBook. Și un terminal atașabil.
  11. NU folosiți NICIODATĂ o bibliotecă al cărei nume are un g în ea. NU.
  12. Publicați-l pe KDE-Look.org
  13. Promite tuturor că îl vei porta pe Windows, dar nu o faci
  14. O dată la câțiva ani, folosiți revizuirea setului de instrumente ca scuză pentru a începe de la zero.

Cum se scrie o aplicație GNOME.

  1. Căutați o aplicație rezonabilă de pe o altă platformă (Windows, Mac, KDE, orice, de preferință Mac). Puncte suplimentare dacă există deja alte 3 alternative bazate pe gtk care nu doresc să se integreze cu Gnome.
  2. Numele TREBUIE să aibă un g. Puncte suplimentare dacă poate fi un „gn”. Dacă poți folosi „gnu” sau „gno” sau „gna” ești grozav, iar aplicația ta va merita folosită. Asigurați-vă că numele aplicației dvs. nu are mare legătură cu ceea ce face de fapt. De asemenea, NU documentați NICIODATĂ dacă g este pronunțat greu.
  3. O în Gnome înseamnă obiect. Utilizează cadrul de obiecte D-Bus. Dacă folosești și Bonobo, cu atât mai bine. Asigurați-vă că cel puțin o platformă funcționează în rețea, dar asigurați-vă și că aplicația dvs. nu o folosește niciodată în rețea.
  4. Amintiți-vă că Orientarea obiectelor în C nu este atât de rea. assert(gtk_not_serious_it_est_that_reau). De asemenea, amintiți-vă că GTK+ este mult mai bun decât Qt, deoarece nu aveți o companie comercială care scrie cod pentru el. Deci, știi, este mai liber sau așa ceva și are un + în nume.
  5. Generați pachete pentru fiecare limbă imaginabilă, dar asigurați-vă că niciuna dintre ele nu funcționează exact așa cum doriți. Insisti ca distribuția ta să ambaleze fiecare pachet într-un pachet separat.
  6. Explicați celor cel puțin altor trei programatori cum glib nu are prea multe de-a face cu gnome. Pentru că le pasă.
  7. Nu uita de pictogramele Tango!
  8. Asigurați-vă că aplicația dvs. se compila pe Windows, dar arată ca SHIT.
  9. Enumerați toate funcțiile pe care doriți să le aibă aplicația dvs.
  10. Aruncă 90% dintre ele. Pentru că sunt greu de făcut. Dar spune-le tuturor că nu prea au nevoie de ele.
  11. Implementați 2% dintre ele. Ascundeți celelalte 8% în gconf. Ascunde-le bine.
  12. Interfața dvs. nu trebuie să aibă mai mult de 4 butoane.
  13. Asigurați-vă că aplicația dvs. depinde de cel puțin alte 4 biblioteci care au un g în numele lor. Îl face mai gnomer.
  14. Nu purta Mono, pentru că îți vei răspândi BTS la toată lumea. Nu, stai, folosește Mono, pentru că te va face mult mai productiv. Așteptați, nu, nu folosiți Mono, pentru că dacă o faceți, o distribuție gratuită pe care nimeni nu o folosește nu vă va distribui aplicația.
  15. Asta depinde de un modul care „se îndreaptă către uzura planificată”
  16. Asigurați-vă că, deși aplicația dvs. este nasolă, cel puțin urmați liniile directoare ale interfeței umane.

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   f3niX el a spus

    Hahaha acum daca regele poarta salopeta nu o purta hahahaha buna. Creați trei straturi de abstractizare hahaha

  2.   ca cine el a spus

    LOL
    Lucrul corect ar fi să publicați aplicațiile KDE pe kde-apps.org, nu? 😛

  3.   vicky el a spus

    Cel mai amuzant lucru este că articolul original în limba engleză a fost scris în 2008, dar marea majoritate a lucrurilor sunt încă adevărate. In mod deosebit :

    Enumerați toate funcțiile pe care doriți să le aibă aplicația dvs.
    Aruncă 90% dintre ele. Pentru că sunt greu de făcut. Dar spune-le tuturor că nu prea au nevoie de ele.

    1.    diazepam el a spus

      De fapt, am schimbat puțin lucrurile având în vedere situația actuală. În postarea inițială erau 4 cadre de obiecte (D-Bus, Bonobo, Corba și Orbit) și se spunea să folosească cel puțin 2. Corba a dispărut deja și Bonobo este în proces de uzură. Astăzi este folosit D-Bus

    2.    Windousian el a spus

      Ei bine, cred că și-a pierdut prospețimea. Încă este amuzant pentru că încă nu am uitat vremurile lui GNOME 2 și începuturile lui KDE 4 (curios că punctele 10, 11 și 12 din GNOME sunt încă valabile).

  4.   vreodată el a spus

    hahahaha, am murit.
    A început bine cu KDE și „Funcția Foreach: creați un strat de abstractizare care suportă prost cel puțin alte 3 backend-uri” (vlc, gstreamer și xine îmi vin în minte; niciunul dintre ele nu funcționează bine 😛 )
    Aplicația trebuia să folosească Akonadi și Nepomuk, dar acele părți care nu funcționează și nimeni nu știe exact pentru ce sunt... a, și când fereastra este redimensionată, elementele sale se deformează îngrozitor...

    Dar când am ajuns la partea Gnome, atunci am fost dezamăgit:
    „Generează wrapper-uri pentru fiecare limbă imaginabilă, dar asigură-te că niciuna dintre ele nu funcționează exact așa cum vrei” și „Asigură-te că aplicația ta se compila pe Windows, dar arată ca SHIT”. Ei iau toată prăjitura, haha.
    În ceea ce priveşte

  5.   DanielC el a spus

    Cel mai mult mi-a plăcut că, deși nu există dezvoltatori, doar privind numărul de pași pentru fiecare îți dai seama că este mai ușor de programat în Qt. Cu 2 pași mai puțin înseamnă cu 2 pași mai puțin, oricum ar fi spus-o. xd

    1.    eliotime3000 el a spus

      În plus, QT se adaptează la (aproape) orice tip de interfață desktop.

      1.    DanielC el a spus

        Dar nu acesta este meritul lui Qt ci al celor care le adaptează la desktop-ul lor.

        Parcă îmi spuneați că Gnome 3.6 gtks sunt adaptate la Cinnamon 1.6, 1.7 și 1.8, când acesta este meritul celor care dezvoltă Cinnamon, nu al celor care dezvoltă Gnome sau gtks.

  6.   pandev92 el a spus

    Îmi pare rău, când ajungi la 340 de comentarii, făcând postarea cea mai comentată de pe întreg blogul, doar în spatele acelei intrări din browser,
    xD, sigur m-ai depasit ahaha

    1.    Juan Carlos el a spus

      Chestia este că @elav te-a angajat să obții mai mult acces la blog...hahahaha.

      1.    pandev92 el a spus

        hahahahaha LOL

    2.    diazepam el a spus

      Am spus în calitate de trolling, nu în comentarii. Al tău e lipicioasă.

    3.    eliotime3000 el a spus

      Pentru a vă asigura că utilizatorii care folosesc mașini învechite (cum este cazul meu) pot vizualiza flacăra fără a fi nevoie să aștepte să se încarce comentariile binecuvântate, ați fi postat doar un fragment din postarea dvs. și flacăra completă ar fi fost legată de forum aici, de altfel, ai cerut sa dezbata pe forum ca sa nu fie nevoiti sa sature pagina pentru a fi vizualizata (daca nu se dau de cap sa instaleze Disqus, dar din moment ce Disqus si alti manageri de comentarii nu pot fi personalizati ca cei incluse in WordPress, înțelegi de ce).

  7.   pandev92 el a spus

    8-Asigură-te că aplicația ta se compila pe Windows, dar că arată ca SHIT.

    Ei bine, în acest caz pot spune că și anumite aplicații qt arată oribil, doar încercați qbittorrent sub Windows 7 sau 8 pentru a vedea cât de urât arată.
    În Windows, aproximativ 90% dintre aplicații arată urât, deoarece trebuie să creați singur o temă...

    1.    eliotime3000 el a spus

      Evident, pentru că QT se adaptează la tema pe care o folosește interfața fiecărui OS care este compilat (un exemplu clar este VLC, care arată grozav în KDE și Aqua, dar în Windows este complet plictisitor).

  8.   elendilnarsil el a spus

    Hei Diazepan, apropo de trolling, în prima linie, lucrul corect este „au condus” și nu au condus.

    1.    diazepam el a spus

      corectat

      1.    elendilnarsil el a spus

        Multumesc amice.

  9.   giskard el a spus

    „și cu provocarea de a depăși postul lui Pandev ca trolling”
    HA HA HA HA HA HA. Ai pus ștacheta foarte sus!!! 😀

    1.    diazepam el a spus

      Repet ce i-am spus lui pandev: „Am spus-o ca trolling, nu în comentarii”.

  10.   Garbage_Killer el a spus

    >Convinge-te că scrierea în C++ este modalitatea supremă de a te masturba și că învățarea Qt este mai bună decât să petreci timp cu prietena ta, pentru că este atât de frumos.

    >este modul suprem de a te masturba
    > este mai bine decât să petreci timp cu prietena ta
    >manuela este peste tot

    loltodo

  11.   Hang1 el a spus

    Credeam că sunt singurul care folosea „libretardado” ca traducere a lui Freetard haha.

    1.    diazepam el a spus

      De asemenea, m-am gândit să-l traduc ca „libertarado” (libertate și prost)

      1.    GGGG1234 el a spus

        Îl văd mai degrabă „retardat” decât „imbecil”. Oricum, sunt o prostie. Oricum ar fi, își ating scopul...

  12.   Kike el a spus

    Mie postarea mi se pare la fel ca întotdeauna, cei care folosesc KDE batându-i pe cei de la Gnome, nu cred că unul este mai bun decât celălalt, sunt diferiți, simplitate maximă împotriva supraîncărcării. Și încă un lucru, limbajele de programare de nivel superior sunt mai ușor de utilizat, dar mai puțin optime atunci când vine vorba de executarea aplicațiilor realizate cu limbajul menționat, un program de asamblare funcționează mai bine decât unul în C, iar unul în C funcționează mai bine decât unul în C++, spunând că că Qt este mai bun decât GTK+ pentru că este în C++ mi se pare o eroare, de aceea Torvalds nu vrea o singură linie de C++ în nucleu și există părți programate în asamblator, cum ar fi pornirea nucleului.

    1.    x11tete11x el a spus

      Cum explici că QT este cel mai folosit pe telefoanele mobile? deoarece sunt echipe cu resurse limitate... Ce te bazezi pe optimizare pentru a spune asta?Totul depinde de compilator, dacă face o oarecare manipulare a programării statice pe care celălalt nu o face, evident că va fi mai eficient decât celălalt... pe de altă parte, tu ati vazut lista de dezvoltatori acolo pentru fiecare proiect?Pentru GTK exista un singur dezvoltator full-time si in ultimul timp fiecare noua versiune rupe compatibilitatea cu cele anterioare... comentariul tau pare mai degraba impotriva programarii orientate pe obiecte...
      Pe de altă parte, ce numești supraîncărcat?Sunt utilizator KDE și dacă este supraîncărcat îl interpretăm ca un consum de RAM, KDE datorită modularității sale poate fi configurat sacrificând unele dintre conforturile pe care le oferă astfel încât să consume mult mai puțin decât Gnome ( ceva ce nu este posibil în Gnome).poate), dacă vorbim din nou despre minimalism KDE datorită modularității sale poate fi „ajustat” în mii de moduri, astfel încât să fie foarte „minimal” (nu supraîncărcat), dacă îl interpretăm ca numărul de aplicații cu care vine, apoi îmi pare rău să vă spun că nu puteți vorbi despre una mai grea decât cealaltă, deoarece atât KDE, cât și Gnome își pot instala versiunile de bază, care includ doar aplicațiile esențiale.
      În cele din urmă, cu QT puteți face lucruri pe care nu le puteți face cu GTK.

      1.    pandev92 el a spus

        qt este mai folosit pe telefoane mobile pentru că are un IDE decent, pentru că este un limbaj mai complet la nivel de gui, etc.

      2.    Kike el a spus

        – Citez textual o frază din Linus Torvalds care definește foarte bine părerea multora:

        „C++ este un limbaj oribil. Și este făcut și mai oribil de faptul că o mulțime de programatori de nivel al doilea îl folosesc, până în punctul în care este și mai ușor și mai ușor să generați gunoi inutil cu el. Sincer, chiar dacă decizia de a folosi C nu ar avea *nimic* mai mult de-a face cu menținerea programatorilor C++ în afara proiectului, acesta ar fi fost un motiv excelent pentru a folosi C.”

        -Prin supraîncărcare mă refer la interfețele pline de butoane și opțiuni în care să te pierzi și apoi jumătate dintre ele nu fac nimic sau ceva nesemnificativ (nu știu dacă asta înseamnă să faci mai multe lucruri decât GTK), chestiunea consumului de memorie E separat. subiect, nu e nevoie să vorbim despre el.

        -@pandev92 s-a definit foarte bine pentru că QT este folosit foarte mult pe telefoanele mobile, dar trebuie să spunem tot adevărul, pentru că GTK este cel mai folosit în aplicațiile desktop, ceea ce pentru mine este cel mai important, motiv pentru care majoritatea oamenilor folosește GTK2, care este mai bun decât GTK3, deoarece așa cum spui tu se schimbă radical în fiecare versiune, dar GTK2 are în continuare suport și, eventual, mai mult decât GTK3 datorită aplicațiilor care le folosesc, cum ar fi Firefox de exemplu.

        1.    x11tete11x el a spus

          Îi respect foarte mult părerea lui Torvalds, dar după cum spune el, se referă la programatori incompetenți, dincolo de faptul că nu-i place C++, dacă ai un programator C care este animal, folosind C nu va crea programe bune. , vor continua să fie gunoi, am văzut și C, și am avut colegi care au controlat lucrurile cu un timp, le-au controlat cu un for cu pauză înăuntru ¬¬, din punctul meu de vedere, C este un limbaj grozav, dar dacă există o programare de mandrină în spate, este la fel ca nimic.

          În ceea ce privește interfața, este destul de subiectivă, 90% dintre aplicațiile KDE pot configura ce butoane doriți să fie vizibile în fereastră, dacă considerați că sunt lucruri inutile, pur și simplu le eliminați și atât.

          În ceea ce privește telefoanele mobile, deși este adevărat că este un Framework, sunt mult mai mulți oameni în spatele QT decât gtk... iar îmbunătățirile față de OpenGL sunt constante, pe scurt îmi plac limbajele imperative, dar recunosc că sunt lucruri. care sunt o Este o durere să le faci în acest tip de limbaj, deoarece conceptul de obiect există.

          1.    Kike el a spus

            – Nu este vorba dacă există sau nu programatori buni, este vorba despre faptul că în condiții egale (programator bun, compilator bun etc.) C este capabil să obțină mai multe performanțe decât C++, deoarece este mixul ideal între un limbaj low-end.nivel și limbaj de nivel înalt, bineînțeles că programarea în C este mai dificilă când vine vorba de proiectarea interfețelor de exemplu, dar este la fel ca programarea în asamblare, este mai dificilă dar obții multă performanță , de aceea kernel-ul Linux nu are o singură linie de C++, C și asamblare sunt folosite pentru lucruri precum pornirea kernel-ului.

            – chiar nu înțeleg interfețele KDE, adică folosesc un program ca Brasero (GTK) și apoi altul ca K3B (QT) și dacă K3B mi se pare că interfața este foarte supraîncărcată, plină de butoane și opțiuni care nu sunt folosite, așa că pot face ca prin magie să dispar butoanele și meniurile? Ei bine, este prima dată când aud de ele.

        2.    x11tete11x el a spus

          Scuze, încă nu înțeleg de ce obții mai multă performanță, pe ce te bazezi pe asta? Sunt de acord că depinde de compilator, toate aceste lucruri depind de cât de multă programare de cod faci, chiar și GCC poate fi activat ca experimental caracteristică.

          Cât despre interfețe, iată un capac al celui pe care l-ați menționat, K3B-ul complet eviscerat (am scos panourile afară pur și simplu pentru a arăta că pot fi îndepărtate sau repoziționate după dorință, altceva, par întunecate pentru că nu mă concentrez pe ele (este un efect kwin)) și bara de instrumente puteți configura și ce butoane doriți să fie disponibile

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

  13.   djngo el a spus

    Ca fost programator KDE, vă spun că MOC NU ESTE muzică pe consolă, în acest caz. Salutari.

    Presupun că ați văzut comentariul meu în foarte Linux și ați mers la sursă pentru a copia și traduce cu guugle.