نحوه نوشتن یک برنامه KDE و یک برنامه GNOME

fedora_gnome_and_kde

برای انتقام از مشکلات فنی و عدم همکاری که منجر به قطع قسمت "The MicroKernel" در روز شنبه گذشته شد و با چالش پیشی گرفتن از پست پاندف به عنوان ترول ، قصد دارم به شوخ طبعی وبلاگ متوسل شوم لینـوکــس نفرت برای روشن کردن چند چیز

نحوه نوشتن برنامه KDE.

  1. به دنبال برخی از برنامه های منبع باز نیمه موفق باشید
  2. خود را متقاعد کنید که نوشتن به زبان C ++ بهترین راه برای خودارضایی است ، و یادگیری Qt ​​بهتر از وقت گذرانی با دوست دختر است ، زیرا بسیار زیبا است
  3. به خود یادآوری کنید که چرا MOC (Music On Console) بد نیست؟
  4. نام برنامه را بنویسید ، s s / [cg] / k / ، بررسی کنید که در آخر سه kas در صف قرار ندارید. اگر kas وجود ندارد ، یکی را در ابتدا اضافه کنید.
  5. به هر عملکرد کاربری که برنامه شما می تواند ارائه دهد ، فکر کنید
  6. عملکرد Foreach: یک لایه انتزاعی ایجاد کنید که حداقل از 3 باطن دیگر پشتیبانی کند
  7. عملکرد Foreach: ایجاد دکمه در نوار ابزار
  8. عملکرد Foreach: ایجاد مورد منو
  9. اطمینان حاصل کنید که می تواند پنجره ها را شکافته ، برگه هایی ایجاد کند و از KPart ها پشتیبانی کند. اگر نمی توانید به UI فکر کنید ، از یک ویندوز تقلید کنید.
  10. مطمئن شوید که از Phonon و KAddressBook استفاده می کند. و یک ترمینال قابل اتصال
  11. هرگز از یک کتابفروشی استفاده نکنید که نام آن دارای یک g باشد. هرگز.
  12. آن را در KDE-Look.org ارسال کنید
  13. به همه قول دهید که آن را به ویندوز منتقل کنید ، اما این کار را نکنید
  14. هر چند سال یکبار ، از ویرایش جعبه ابزار بهانه ای برای شروع کار از ابتدا استفاده کنید.

نحوه نوشتن برنامه GNOME.

  1. از برنامه های دیگر (Windows، Mac، KDE، هر ترجیحاً Mac) به دنبال یک برنامه منطقی باشید. اگر در حال حاضر 3 گزینه دیگر بر اساس gtk وجود داشته باشد که نمی خواهند در Gnome ادغام شوند ، امتیاز اضافی وجود دارد.
  2. نام باید یک g داشته باشد. اگر می تواند "gn" باشد امتیاز اضافی دارد. اگر می توانید از "gnu" یا "gno" یا "gna" استفاده کنید ، جنسیت دارید و برنامه شما ارزش استفاده را دارد. مطمئن شوید که نام برنامه شما ارتباط زیادی با آنچه در واقع انجام می دهد ندارد. همچنین اگر g قوی خوانده می شود ، هرگز سند نزنید.
  3. O در گنوم به معنی شی است. از چارچوب جسم D-Bus استفاده می کند. اگر از Bonobo هم استفاده می کنید بهتر است. اطمینان حاصل کنید که حداقل یک سیستم عامل در شبکه کار می کند ، اما همچنین اطمینان حاصل کنید که برنامه شما هرگز از آن در شبکه استفاده نمی کند.
  4. به یاد داشته باشید که شی گرا در C چندان بد نیست. ادعا کنید (gtk_ جدی_نه_به_خوبی). همچنین به یاد داشته باشید که GTK + بسیار بهتر از Qt است زیرا شما یک شرکت تجاری برای نوشتن کد برای آن ندارید. بنابراین ، می دانید که آن آزادتر یا غیره است و + در نام آن وجود دارد.
  5. برای هر زبانی قابل تصور لفافه هایی را ایجاد کنید ، اما مطمئن شوید که هیچکدام از آنها دقیقاً همانطور که می خواهید کار نمی کنند. شما نیاز داشتید که فلاپی خود را در هر بسته بندی در یک بسته جداگانه قرار دهید.
  6. حداقل برای سه برنامه نویس دیگر توضیح دهید که glib ارتباط زیادی با gnome ندارد. چون اهمیت می دهند.
  7. آیکون های تانگو را فراموش نکنید!
  8. مطمئن شوید که برنامه شما در ویندوز کامپایل می شود ، اما به نظر می رسد SHIT باشد.
  9. تمام ویژگی هایی را که می خواهید برنامه شما داشته باشد لیست کنید.
  10. 90٪ آنها را دور بریزید. زیرا انجام آنها دشوار است. اما به همه بگویید که آنها واقعاً به آنها نیازی ندارند.
  11. 2٪ از آنها را اجرا کنید. 8٪ دیگر را در gconf مخفی کنید. آنها را خوب پنهان کنید.
  12. رابط کاربری شما نباید بیش از 4 دکمه داشته باشد.
  13. اطمینان حاصل کنید که برنامه شما حداقل به 4 کتابخانه دیگر که دارای نام g هستند ، بستگی دارد. این باعث gnomera بیشتر او می شود.
  14. از Mono استفاده نکنید ، زیرا STD خود را به همه منتقل می کنید. منتظر نباشید ، از Mono استفاده کنید ، زیرا باعث می شود شما بهره وری بالاتری داشته باشید. صبر کنید ، نه ، از Mono استفاده نکنید ، زیرا اگر این کار را انجام دهید ، برخی از توزیع های تأخیری که هیچ کس استفاده نمی کند ، برنامه شما را توزیع نمی کند.
  15. متکی به ماژولی است که "به سمت منسوخ شدن برنامه ریزی شده" می رود
  16. مطمئن باشید حتی اگر برنامه شما مکیده باشد ، حداقل از راهنماهای رابط انسانی پیروی می کند.

محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

33 نظر ، نظر خود را بگذارید

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد.

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.

  1.   F3niX dijo

    ههههه حالا اگه پادشاه میمون میپوشه ازش استفاده نکنی هاااا ، این خوبه. سه لایه انتزاع ایجاد کنید هاها

  2.   به همین ترتیب dijo

    LOL
    نکته صحیح این است که برنامه های KDE را در kde-apps.org منتشر کنید ، درست است؟ 😛

  3.   ویکی dijo

    نکته جالب این است که مقاله اصلی به انگلیسی در سال 2008 نوشته شده است ، اما اکثریت قریب به اتفاق موارد هنوز درست هستند. بخصوص :

    تمام ویژگی هایی را که می خواهید برنامه شما داشته باشد لیست کنید.
    90٪ آنها را دور بریزید. زیرا انجام آنها دشوار است. اما به همه بگویید که آنها واقعاً به آنها نیازی ندارند.

    1.    دیازپان dijo

      من واقعاً با توجه به امروز اوضاع را کمی تغییر دادم. در پست اصلی 4 چارچوب شی (D-Bus ، Bonobo ، Corba و Orbit) وجود داشت و گفته می شود حداقل از 2 استفاده کنید. Corba قبلاً ناپدید شده است و Bonobo منسوخ شده است. امروزه از D-Bus استفاده می شود

    2.    ویندوزوسیکو dijo

      خوب ، فکر می کنم طراوت خود را از دست داده است. هنوز هم خنده دار است زیرا ما هنوز روزهای GNOME 2 و آغاز KDE 4 را فراموش نکرده ایم (جالب است که نقاط GNOME 10 ، 11 و 12 هنوز هم اعمال می شوند).

  4.   همیشه dijo

    ههههه ، من مردم
    با KDE و "عملکرد Foreach: یک لایه انتزاعی ایجاد کنید که حداقل از 3 باطن دیگر پشتیبانی نکند" شروع خوبی داشت (vlc ، gstreamer و xine به ذهن خطور می کند ؛ هیچکدام صحیح نیستند)
    استفاده از Akonadi و Nepomuk برای برنامه ضروری بود ، اما آن قسمتهایی که کار نمی کنند و هیچ کس نمی داند برای چه مواردی است ... آه ، و وقتی اندازه پنجره تغییر اندازه می یابد ، عناصر آن به طرز وحشتناکی تغییر شکل می دهند ...

    اما وقتی به قسمت Gnome رسیدم ، در آنجا دنده ها را شکستم:
    "برای هر زبان قابل تصور ، بسته بندی ایجاد کنید ، اما مطمئن شوید که هیچ کدام دقیقاً همانطور که می خواهید کار نمی کنند" و "اطمینان حاصل کنید که برنامه شما در ویندوز کامپایل شود ، اما به نظر می رسد SHIT باشد." آنها همه کف دست ها را می گیرند ، ها ها
    توجه

  5.   دانیل سی dijo

    چیزی که من بیشتر دوست داشتم این است که حتی اگر هیچ توسعه دهنده ای وجود نداشته باشد ، فقط با مشاهده تعداد مراحل یکی و دیگری متوجه می شوید که برنامه ریزی در Qt راحت تر است. به قول خودشان 2 قدم کمتر 2 قدم کمتر است. xD

    1.    eliotime3000 dijo

      همچنین ، QT با تقریباً هر نوع رابط دسک تاپ سازگار است.

      1.    دانیل سی dijo

        اما این لیاقت Qt نیست بلکه کسانی هستند که آنها را با میز کار شما سازگار می کنند.

        گویی شما به من گفتید که Gnome 3.6 gtks با دارچین 1.6 ، 1.7 و 1.8 سازگار است ، در حالی که این اعتبار به کسانی است که دارچین تولید می کنند ، نه کسانی که Gnome یا gtk تولید می کنند.

  6.   92 dijo

    متأسفم ، وقتی به 340 نظر می رسید که پست بیشترین نظر را در کل وبلاگ دارد ، فقط در پشت آن ورودی از مرورگرها ،
    xD ، تو از من پیشی خواهی گرفت آهها

    1.    خوان کارلوس dijo

      آیا این شماelav را برای دسترسی بیشتر به وبلاگ استخدام کرده اید ... هاهاهاها.

      1.    92 dijo

        ههههههههههههه

    2.    دیازپان dijo

      من با ظرفیت ترول گفتم نه در نظرات. مال شما لطیف است

    3.    eliotime3000 dijo

      برای اینکه کاربرانی که از ماشین های منسوخ استفاده می کنند (همانطور که در مورد من است) می توانند شعله را بدون نیاز به انتظار برای بارگذاری نظرات مبارک مشاهده کنند ، شما فقط بخشی از پست خود را قرار می دهید و شعله کامل به انجمن در اینجا پیوند داده می شود ، اتفاقاً ، شما از آنها خواستید که در انجمن بحث کنند تا مجبور نشوند صفحه مورد نظر را اشباع کنند (مگر اینکه در نصب Disqus زحمت بکشند ، اما مانند Disqus و سایر مدیران نظر نمی توانند مانند موارد موجود در وردپرس سفارشی شوند) ، می فهمید چرا).

  7.   92 dijo

    8-اطمینان حاصل کنید که برنامه شما روی ویندوز کامپایل شده باشد ، اما به نظر می رسد SHIT باشد.

    خوب ، در این حالت می توانم بگویم که برخی از برنامه های qt نیز وحشتناک به نظر می رسند ، فقط qbittorrent را تحت ویندوز 7 یا 8 امتحان کنید تا ببینید چقدر زشت به نظر می رسد.
    در ویندوزهایی مانند 90٪ از برنامه ها ظاهر زشتی دارند ، زیرا خودتان باید آن را به عنوان یک موضوع در آورید.

    1.    eliotime3000 dijo

      بدیهی است ، زیرا QT با تم استفاده شده توسط رابط کاربری هر سیستم عامل سازگار سازگار است (یک مثال بسیار واضح VLC است ، که در KDE و Aqua عالی به نظر می رسد ، اما در ویندوز کاملا خسته کننده است).

  8.   elendilnarsil dijo

    هی دیازپان ، صحبت از ترول ، در خط اول ، نکته صحیح "آنها رانندگی کردند" و آنها رانندگی نکردند.

    1.    دیازپان dijo

      اصلاح شده

      1.    elendilnarsil dijo

        مرسی رفیق.

  9.   گیسکارد dijo

    "و با چالش غلبه بر پست پاندف به عنوان ترول"
    ها ها ها ها ها ها. شما میله رو خیلی بالا تنظیم کردید !!! 😀

    1.    دیازپان dijo

      آنچه را که به پاندف گفتم تکرار می کنم: "من با ظرفیت چرخان گفتم ، نه در نظرات".

  10.   آشغال_قاتل dijo

    > خود را متقاعد کنید که نوشتن به زبان C ++ بهترین راه برای خودارضایی است ، و یادگیری Qt ​​بهتر از وقت گذرانی با دوست دختر است ، زیرا بسیار زیبا است.

    > آخرین راه برای خودارضایی است
    > این بهتر از وقت گذراندن با دوست دختر شما است
    > مانوئلا همه جا است

    عزیزم

  11.   قطع 1 dijo

    من فکر کردم تنها کسی است که از "libretardado" به عنوان ترجمه Freetard استفاده می کند.

    1.    دیازپان dijo

      من همچنین ترجمه آن را به عنوان "libertarado" (آزادی و جنون) در نظر گرفتم

      1.    GGGG1234 dijo

        من او را بیشتر "عقب مانده" می بینم تا "مجنون". به هر حال آنها احمق هستند. در هر صورت ، آنها هدف خود را برآورده می کنند ...

  12.   کیکی dijo

    این پست به نظر من مثل همیشه است ، کسانی که از KDE برای خرد کردن کسانی که از Gnome استفاده می کنند استفاده می کنند ، من فکر نمی کنم یکی بهتر از دیگری باشد ، آنها متفاوت هستند ، حداکثر سادگی در برابر زیاد بودن بار. و یک چیز دیگر ، استفاده از زبان های برنامه نویسی سطح بالاتر آسان تر است اما هنگام اجرای برنامه های ساخته شده با آن زبان ، بهینه تر نیست ، یک برنامه اسمبلر بهتر از یک در C کار می کند ، و یک در C بهتر از یک در C ++ کار می کند ، اینکه Qt بهتر از GTK + است زیرا به زبان C ++ است به نظر من مغالطه است ، به همین دلیل Torvalds نمی خواهد حتی یک خط C ++ در هسته داشته باشد و قسمتهایی مانند بوت هسته در اسمبلر برنامه ریزی شده است.

    1.    x11tete11x dijo

      چگونه توضیح می دهید که QT بیشترین کاربرد را در موبایل ها دارد؟ تیم آنها با منابع محدود برای گفتن خود بر اساس چه بهینه سازی خود کار می کنید؟ همه چیز به کامپایلر بستگی دارد ، اگر برخی از برنامه های ثابت برنامه ریزی را انجام دهد که دیگری انجام ندهد ، بدیهی است که از دیگری موثرتر خواهد بود ... از طرف دیگر ، دیدید لیست توسعه دهندگان برای هر پروژه وجود دارد؟ ، برای GTK فقط یک توسعه دهنده تمام وقت وجود دارد و اخیراً هر نسخه جدید سازگاری با نسخه قبلی را از بین می برد ... نظر شما به نظر می رسد مخالف برنامه نویسی شی گرا باشد ...
      از طرف دیگر ، شما چه چیزی را بیش از حد اضافه بار می نامید؟ ، من یک کاربر KDE هستم و اگر بیش از حد باشد آن را به عنوان مصرف RAM تعبیر می کنیم ، KDE به دلیل مدولار بودن می تواند پیکربندی شود و برخی از راحتی هایی را که ارائه می دهد فدا کند تا مصرف آن بسیار کمتر از Gnome باشد (که در Gnome من نمی دانم می توانم) ، اگر دوباره در مورد مینیمالیسم صحبت کنیم ، KDE به دلیل مدولار بودن می تواند از طریق هزاران روش "تنظیم" شود تا "بسیار کم" باشد (بیش از حد زیاد نیست) ، اگر از آن به عنوان یک عدد تعبیر کنیم با کمال تأسف به شما می گویم که یکی نمی تواند از سنگین تر از دیگری صحبت کند زیرا هر دو KDE و Gnome می توانند نسخه های پایه خود را نصب کنند که فقط برنامه های ضروری را به همراه دارد.
      سرانجام با QT می توانید کارهایی انجام دهید که نمی توانید با GTK انجام دهید

      1.    92 dijo

        qt بیشتر در موبایل ها استفاده می شود زیرا ایده مناسبی دارد ، زیرا زبان کامل تری در سطح gui و غیره است.

      2.    کیکی dijo

        - عبارتی از لینوس توروالدز را به معنای واقعی کلمه نقل می کنم که نظر بسیاری را به خوبی تعریف می کند:

        C ++ یک زبان وحشتناک است. و حتی برای اینکه بسیاری از برنامه نویسان سطح دوم از آن استفاده می کنند وحشتناک تر است ، تا حدی که تولید زباله های بی فایده با آن آسان تر و آسان تر است. انصافاً ، حتی اگر تصمیم برای استفاده از C * ارتباط بیشتری با دور نگه داشتن برنامه نویسان C ++ از پروژه نداشته باشد ، دلیل خوبی برای استفاده از C بود. "

        منظورم از بارگذاری بیش از حد ، رابط های پر از دکمه ها و گزینه هایی است که می توانید گم شوید و سپس نیمی از آنها هیچ کاری یا چیز ناچیزی انجام نمی دهند (نمی دانم این به معنای انجام کارهای بیشتر از GTK است) ، مسئله مصرف حافظه یک موضوع جداگانه ، لازم نیست در مورد آن صحبت کنید

        - @ pandev92 به خوبی تعریف کرده است زیرا QT در تلفن های همراه بسیار استفاده می شود ، اما ما باید تمام حقیقت را بگوییم ، زیرا GTK یکی از مواردی است که بیشتر در برنامه های دسک تاپ مورد استفاده قرار می گیرد و این برای من مهم است ، همان چیزی که بیشتر از GTK2 استفاده می کنند که بهتر از GTK3 است ، زیرا همانطور که می گویید در هر نسخه کاملاً تغییر می کند ، اما GTK2 به دلیل برنامه هایی که از آنها استفاده می کند ، مانند Firefox به عنوان مثال ، هنوز پشتیبانی و احتمالاً بیش از GTK3 دارد.

        1.    x11tete11x dijo

          من به نظر توروالدز بسیار احترام می گذارم ، اما همانطور که می گوید ، منظور او از برنامه نویسان بی کفایت است ، حتی اگر C ++ را دوست ندارد ، اگر شما یک برنامه نویس C حیوان داشته باشید ، با استفاده از C برنامه های خوبی ایجاد نمی کند ، آنها برای ادامه زباله ، من همچنین C را دیدم ، و همكارانی داشتم كه می توانستند مدتی كنترل چیزها را بر عهده بگیرند ، آنها آنها را با استفاده از یك استراحت در داخل كنترل می كردند ¬¬ ، كه من از نظر خودم به آن می روم ، C یک زبان عالی است ، اما اگر پشت آن برنامه نویسی وجود داشته باشد ، همان هیچ چیز نیست.

          با توجه به رابط کاربری ، کاملاً ذهنی است. 90٪ برنامه های KDE می توانند پیکربندی کنند که کدام دکمه ها را می خواهید در پنجره دیده شوند. اگر فکر می کنید موارد غیر ضروری وجود دارد ، آنها را بردارید و تمام.

          در مورد موبایل ، گرچه این یک چارچوب درست است ، اما افراد زیادی بیش از gtk پشت QT هستند. و بهبودها در مورد OpenGL ثابت هستند ، به طور خلاصه من زبانهای ضروری را دوست دارم ، اما من می دانم که مواردی وجود دارد که تخم مرغ برای ساختن آنها در این نوع زبانها ، از آنجا که مفهوم شی وجود دارد

          1.    کیکی dijo

            - این نیست که برنامه نویسان خوبی وجود دارند یا نه ، بلکه این است که همه چیز برابر است (برنامه نویس خوب ، کامپایلر خوب ، و غیره.) C قادر به عملکرد بیشتر از C ++ است ، زیرا این یک ترکیب ایده آل بین کم است سطح زبان و سطح سطح بالا ، البته برنامه نویسی در C هنگام طراحی رابط کار دشوارتری است ، اما همان برنامه نویسی در اسمبلر است ، دشوارتر است اما عملکرد زیادی دارید ، به همین دلیل لینوکس هسته دارای یک خط C ++ نیست ، C و اسمبلر برای مواردی مانند راه اندازی هسته استفاده نمی شود.

            - من واقعا رابط های KDE را نمی فهمم ، منظورم این است که من برنامه ای مانند brazier (GTK) و سپس برنامه دیگری مانند K3B (QT) را می گیرم و اگر K3B به نظر می رسد که رابط کاربری بسیار پر است ، پر از دکمه ها و گزینه ها که استفاده نمی شود ، بنابراین من می توانم دکمه ها و منوها را با جادو از بین ببرم؟ خوب ، این اولین بار است که آن را می شنوم.

        2.    x11tete11x dijo

          متأسفم ، من هنوز نمی فهمم که چرا عملکرد بیشتری می گیرید ، برای گفتن چه چیزی مبتنی هستید؟ قبول دارم که به کامپایلر بستگی دارد ، همه این موارد به میزان زمانبندی کد شما بستگی دارد ، حتی به GCC که می توانید آن را به عنوان یک ویژگی آزمایشی فعال کنید

          در مورد رابط ها ، در اینجا یک کلمه از مواردی که شما ذکر کردید ، K3B کاملاً شکاف خورده است (من صفحات را به بیرون آوردم تا نشان دهم که می توان آنها را با سهولت و لذت از بین برد یا تغییر مکان داد ، نکته دیگر ، آنها تاریک به نظر می رسند زیرا من فوکوس نکردن (این اثر kwin است) و نوار ابزار همچنین می توانید پیکربندی کنید که کدام دکمه ها می خواهید در دسترس باشند

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

  13.   جنگو dijo

    من به عنوان یک برنامه نویس سابق KDE به شما می گویم که MOC در این مورد موسیقی روی کنسول نیست. با احترام.

    حدس می زنم شما نظر من را در مورد linux بسیار دیدید و به منبع رفتید تا کپی پیست کنید و با گوگل ترجمه کنید.

bool (درست)