Як припинити свою залежність від .NET? [зачинено]


10

Я розробляю програми для GUI Windows протягом багатьох років і вскочив у .NET на початку 2005 року. NET, безсумнівно, чудова платформа, і я все ще використовую її, але з різноманітними технологіями там я не хочу залишатися присвячений цьому табору. Я хочу вивчити нові мови, за допомогою яких я можу розробляти програми GUI.

Я вивчаю Рубі і щойно встановив Python. Я читав про WxRuby, основу для розробки програми GUI для Windows. в Рубі. Я шукаю аналогічну рамку для Python.

Крім цього, я хочу знати, яка мова більше підходить для програми GUI на виробничому рівні. Я сумніваюсь, що Ruby більше орієнтована на веб-платформу з її гламуром, Ruby on Rails.

Я знаю, що я, можливо, не отримаю цих багатих .NET-класів та вражаючого Visual Studio IDE, але все-таки я хочу слідувати дорозі менш проїзною. Я не хочу йти з IronPython та IronRuby, проте десь пізніше я можу опустити руки, щоб вивчити їх.


5
Справжня ганьба, що Microsoft вирішила просто безладно викинути IronPython та IronRuby. Я не думаю, що вони насправді розуміють, яке тривожне повідомлення вони надіслали промисловості / громаді, роблячи це.
Рей Міясака

2
@Mahmoud Вони перестали витрачати гроші на це; вони просто дозволяють громаді керувати нею зараз. Провідний розробник Джим Хугунін більше не міг працювати над ним від Microsoft, тому, природно, він покинув компанію також: hugunin.net/microsoft_farewell.html
Rei Miyasaka


9
@Thomas Це все-таки вирвано. Тільки тому, що я кидаю свою дівчину, це не означає, що вона більше не існує або не є більш життєздатною ... все, що може означати остання.
Рей Міясака

2
@Rei, наскільки ви стурбовані, її більше не існує :) Ditched - це квиток в один бік в той сингл-бар, де ви можете поспілкуватися з MSDOS, FoxPro, VB6, Silverlight, Flight Sim, IronPython та IronRuby і сказати казки про те, скільки кохання ти зажив за старих часів.
gbjbaanb

Відповіді:


14

Перевірте Qt.

Він, напевно, такий же багатий, як .NET, а IDE (QtCreator) простий, але досить потужний. Звичайно, його краще використовувати на рідному C ++, але прив'язка Python підтримується повною та актуальною.

Крім цього, це дійсно кросплатформна платформа, і зараз це включає і мобільні платформи :-)


1
Важко назвати Qt рідною системою C ++, враховуючи, що він потребує окремого компілятора, перш ніж будувати з ним. Однак це не погана система.
Біллі ONeal

1
зовсім не, його "рідний" як "збирається прямо на машинній мові, немає байтового коду / VM / JIT там", також як: "немає емуляційного рівня платформи; результуючий код залежить від ОС". mocпрекомпілятора не більше , ніж будь - синтаксичний , щоб зробити більш простий вигляд коду в деяких конкретних кутах ( в основному сигнал обробки); він підходить до ланцюга компіляції приблизно в тому ж місці, що і препроцесор C. Це здебільшого історичний артефакт стабілізації API, перш ніж деякі функції C ++ стабілізувались у компіляторах
Хав'єр

Якщо чесно, мок все ж додає динамічності, якої C ++ не вистачає навіть у наші дні.
Tamás Szelei

6

Ну, wxRuby - це просто прив'язка Ruby для wxWidgets , дивовижний набір інструментів для графічного інтерфейсу між платформами. Існує подібна прив'язка для Python під назвою wxPython, а також прив'язки для багатьох інших мов.


Віджети є, але наскільки безпроблемно вони інтегруються з основною мовою? Наскільки активна підтримка громади?
RPK

1
@RPK - у вас буде досить невелике співтовариство, використовуючи будь-який інструментарій GUI з Python або Ruby. wxPython спільнота більша за Ruby; Зараз у спільноті Рубі переважає Рейлс, але Python має більш очевидну різноманітність.
Джеремі

@Jeremy Ruby не домінує у Rails, але це сприймає, що це є, що шкода.
альтернатива

5

Я не впевнений, чи обмежується ваше питання визначенням, чи краще Ruby чи Python, чи ви запитуєте, на яких інших мовах ви, можливо, хочете навчитися взагалі розробляти програми GUI для Windows. Я припускаю останнє.

Є також Java, Delphi або рідне програмування Win32. Будь-який із них підходить для розробки програм GUI в Windows. Рідний код Win32 може (обов'язково?) Все-таки записуватися через Visual Studio, але немає .NET залежності.


4
+1 для Delphi. Створюйте швидкі, рідні 32-бітні програми для Windows без багажу .NET. 64-розрядна версія, ймовірно, з'явиться десь у 2011 році
tcrosley

1
Графічний інтерфейс Java повільний? Де це доведено?
Тім Вілліскрофт

9
@Tim Williscroft - SWT швидкий, але більшість додатків Swing дещо-дуже мляві. Це так очевидно, що я навіть не можу уявити, що потрібно це доводити.
Джеремі

1
@Jeremy Я кланяюся вашим найвищим знанням. Мене так збентежило, що я роблю це неправильно роками, але тепер я знаю.
Тім Вілліскрофт

2
Рідна win32 чудово. Не чудово для швидкого розвитку, але це не дуже важко.
Пол Натан

5

HTML5 та JavaScript.

Мені б хотілося, що я жартую, але ні .

Страшно думати, що піврічної давності ніхто не мав такої відповіді.

Сумно ...


Ще рік тому я прокоментував програмістів, що Microsoft викинув VB6 разом з водою і що вони могли зробити те ж саме з .NET. Мені хтось відповів і написав, що MS ніколи не викине .NET. Ну, сюрприз, сюрприз! Ось чому я скоріше дотримуюсь програмного забезпечення для свободи та програм з відкритим кодом. Якби .NET був відкритим кодом, поведінка MS не мала б такого значення, тому що громада могла б досягти цієї основи.
системович

1
Моно багато в чому наздогнало. Проблема полягає в тому, що стигматизація та політика навколо неї унеможливлюють можливість інших компаній сприймати її комфортно. Ця ж історія стосується і Java, яка є відкритим кодом, і Sun намагається подати позов до Google. Різниця полягає в тому, що Google не очікував, що Sun позове їх позов. Усі очікують, що корпорація Майкрософт подасть до них позов, і тому, навіть якщо вони пообіцяли цього не робити, люди уникають .NET / Mono / ECMA C #. Дійсно, мова йде не про відкритий код, ані про що-небудь; йдеться про те, що МС повністю втратила голову. Практично все програмне забезпечення ризикує, що його головні учасники зберуться з розуму чи нудьги, відкриються чи ні.
Рей Міясака

+1, тому що це чудово, що ви можете перенести HTML5 та JS прямо з браузера в нативну програму для настільних ПК. Тепер у нас є веб, мобільний (за допомогою PhoneGap ) та Windows 8 все під однією платформою з відкритим кодом!
Райнос

1
У кінці статті, з якою ви посилаєтесь, випливає, що MS не збирається відмовлятися від своєї величезної бази розробників та / або вносити їх у всі коди в HTML5 + JS, і що це скоріше PR-гаф, ніж усе інше.
Скотт Вітлок

@ScottWhitlock - це лише Microsoft, розширюючи інструменти, якими ви можете скористатися, не знижуючи та не припиняючи підтримку будь-яких існуючих інструментів. Це прекрасний спосіб залучити більше розробників в екосистему Microsoft.
Райнос

4

Пам’ятайте, що жорсткі сердечні люди, які не є мікрософт, які не є яблукоми, керуються командним рядком, і дизайн GUI там досить марний. Вони певною мірою підуть на компроміс і зроблять графічні інтерфейси в HTML, щоб користуватися браузерами, але це для своїх клієнтів, а не для них самих.

Якщо ви залишаєтесь у світі GUI, я вважаю, що ви можете поглянути на Apple чи залишитися з .NET у Windows.

Має сенс?

HTH


4
Це не зовсім вірно. У світі * nix ми маємо та використовуємо графічні інтерфейси досить широко.
greyfade

@Christopher: Я це знаю і абсолютно усвідомлюю. Візьмемо для прикладу, Oracle. Вони вийшли з HTML GUI, який дуже повільний. Я не дивлюся лише на негативи, напевно, Oracle можна дуже добре керувати за допомогою командного рядка.
РПК

@RPK: IIRC, Oracle 9i мав чудовий інструмент адміністрування, який представляв собою настільний додаток GUI. Я набагато віддав перевагу адміністрації командного рядка. Oracle 10g реалізував це як веб-сторінку, що було не так добре.
Девід Торнлі

1
GTK досить популярний на робочих столах Linux, є й інші набори інструментів GUI. Я не думаю, що взагалі загальним є запуск робочого столу без графічного інтерфейсу, навіть якщо ви використовуєте термінал для багатьох завдань; хоча * nix-сервери ви зазвичай робите все через командний рядок.
Джеремі

2
+1, тому що я нагадую це зауваження. Як правило, програмування графічного інтерфейсу, яке я роблю, пов’язане з веб-додатками. Я докладаю усвідомлених зусиль, щоб цей ступінь дизайну працював, роблячи його інтуїтивно зрозумілим, простим і очевидним, але мій власний обчислювальний досвід - це щось на зразок 80% Emacs, 15% браузера, 6% інших (з 1% похибкою) .
Inaimathi

3

Я рекомендую Яву у вашій ситуації.

Причини:

  • Якщо ви знаєте .NET, вам буде відносно комфортно з Java (C # в значній мірі надихнувся Java, і багато конвенцій і навіть імена бібліотеки дуже схожі)
  • Java має деякі вражаючі можливості GUI (навіть якщо вони не настільки широко визнані). На мою думку, найкращі набори інструментів для багатоплатформних інтерфейсів - Swing (який повністю крос-платформний, з послідовним виглядом та відчуттям) та SWT (який також використовує вбудовані компоненти, як використовується, наприклад, Eclipse). JavaFX 2.0 також виглядає перспективною для майбутнього.
  • Існує безліч інструментів типу "GUI builder" для обох (загальнодоступні як плагіни IDE для, наприклад, Netbeans або Eclipse)
  • Це, мабуть, питання особистого уподобання, але я стверджую, що Netbeans або Eclipse в цілому краще IDE, ніж Visual Studio, і, безумовно, більш здатні, ніж ви бачите, для будь-яких інших мов чи платформ.
  • Платформа / екосистема Java - це чудове місце взагалі - величезна різноманітність бібліотек та інструментів, особливо якщо вам подобається відкритий код.

Крім того, ви можете спробувати одну з нових інноваційних мов JVM, таких як Scala або Clojure, якщо ви відчуваєте пригоди .....


3
Також розробники Java, як правило, швидше застосовують правильний спосіб написання програмного забезпечення, тоді як багато інших .NET-хлопців просто перекладають код без застосування шаблонів дизайну, SOLID тощо.
Wayne Molina

-1

Python чудово працює для GUI. Ви можете подивитися на PyQt, PyGTK, WxPython тощо. Вони активно використовуються для розробки графічного інтерфейсу (в Linux) і вважають, що вони є кросплатформенними.


-4

Погляньте на інші мови програмування, які працюють із .Net, як IronRuby та IronPython. Далі, ознайомтеся з монопроектом .

Ці кроки дозволять вам вийти з вашої зони комфорту .Net та розвиватися в Linux. Звідси невеликий стрибок до повноцінного розвитку UNIX-стилю.


5
-1 тому, що він заявляє у питанні "Я не хочу йти з IronPython та IronRuby"
Inaimathi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.