Как покончить с моей зависимостью от .NET? [закрыто]

10

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

Я изучаю Ruby и только что установил Python. Я читал о WxRuby, фреймворке для разработки приложения с графическим интерфейсом Windows. в рубине. Я ищу аналогичные рамки для Python.

Кроме того, я хочу знать, какой язык больше подходит для приложения с графическим пользовательским интерфейсом. Я сомневаюсь, что Ruby больше ориентируется на веб-платформу с ее гламуром, Ruby on Rails.

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

RPK
источник
5
Реальный позор, что Microsoft решила просто случайно отказаться от IronPython и IronRuby. Я не думаю, что они действительно понимают, какого рода тревожное послание они отправили индустрии / сообществу.
Рей Миясака
2
@ Махмуд Они перестали тратить деньги на это; они просто позволяют сообществу управлять им сейчас. Ведущий разработчик, Джим Хугунин, больше не мог работать над этим из Microsoft, поэтому, естественно, он также покинул компанию: hugunin.net/microsoft_farewell.html
Рей Миясака,
1
@Thomas: h-online.com/open/news/item/…
Рей Миясака
9
@ Томас Это все еще угроблено. То, что я отказываюсь от своей подруги, не означает, что она больше не существует или больше не жизнеспособна ... что бы это ни значило.
Рей Миясака
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прекомпилятор не более , чем какая - синтаксический , чтобы сделать более простой вид кода в некоторых конкретных углах ( в основном сигнал обработки); он соответствует цепочке компиляции примерно в том же месте, что и препроцессор Си. В основном это исторический артефакт стабилизации API до того, как некоторые функции C ++ стабилизировались в компиляторах
Хавьер
Честно говоря, moc добавляет динамизма, которого нет в C ++ даже в наши дни.
Тамас Селеи
6

Что ж, wxRuby - это просто связка Ruby для wxWidgets , потрясающего кроссплатформенного инструментария GUI. Аналогичная привязка для Python называется wxPython, а также привязки для многих других языков.

Роберт Харви
источник
Виджеты есть, но насколько они интегрированы с основным языком? Насколько активна поддержка сообщества?
РПК
1
@RPK - у вас будет довольно маленькое сообщество, использующее любой данный набор инструментов GUI с Python или Ruby. Сообщество wxPython больше, чем Ruby; В сообществе Ruby сейчас доминирует Rails, но в Python больше очевидного разнообразия.
Джереми
В сообществе @Jeremy Ruby не доминирует Rails, но оно дает представление о том, что это так, и это позор.
альтернатива
5

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

Есть также Java, Delphi или родное Win32 программирование. Любой из них подходит для разработки приложений с графическим интерфейсом в Windows. Собственный код Win32 может (должен?) Все еще быть написан через Visual Studio, но нет никакой зависимости .NET.

Адам Лир
источник
4
+1 для Дельфи. Создавайте быстрые нативные 32-битные приложения для Windows без багажа .NET. 64-битная версия, вероятно,
выйдет
1
Java GUI работают медленно? Где это доказано?
Тим Уиллискрофт
9
@Tim Williscroft - SWT работает быстро, но большинство приложений Swing довольно-таки вялые. Это настолько очевидно, что я даже не могу себе представить, что нужно это доказать.
Джереми
1
@ Джереми, я кланяюсь твоим превосходным знаниям. Я так смущен, я делал это неправильно в течение многих лет, но теперь я знаю.
Тим Уиллискрофт
2
Родной win32 в порядке. Не подходит для быстрого развития, но это не так сложно.
Пол Натан
5

HTML5 и JavaScript.

Я бы хотел пошутить, но я не шучу .

Страшно подумать, что ни у кого не было такого ответа полгода назад.

Печальный...

Рей Миясака
источник
Примерно год назад я прокомментировал Программистам, что Microsoft выбросила VB6 с водой и что они могут сделать то же самое с .NET. Кто-то ответил мне и написал, что MS никогда не откажется от .NET. Ну, сюрприз, сюрприз! Вот почему я предпочитаю придерживаться свободы программного обеспечения и сообществ с открытым исходным кодом. Если бы .NET был открытым исходным кодом, поведение MS не имело бы такого большого значения, потому что сообщество могло бы продвинуть рамки вперед.
Системович
1
Моно во многом догнало. Проблема состоит в том, что стигма и политика вокруг него делают невозможным для других компаний принять его с комфортом. Та же самая история относится к Java, которая является открытым исходным кодом, когда Sun пытается подать в суд на Google. Разница в том, что Google не ожидал, что Sun подаст на них в суд. Все ожидают, что Microsoft подаст на них в суд, и поэтому, хотя они и поклялись не делать этого, люди избегают .NET / Mono / ECMA C #. На самом деле, речь идет не об открытом коде, а о чем-либо; это о том, что MS полностью потеряла голову. Почти все программное обеспечение рискует, что его основные участники сойдут с ума или скучают, открыты или нет.
Рей Миясака
+1, потому что здорово иметь возможность переносить HTML5 и JS прямо из браузера в собственное настольное приложение. Теперь у нас есть веб, мобильные (с помощью PhoneGap ) и Windows 8 под одной платформой с открытым исходным кодом!
Райнос
1
Конец статьи, на которую вы ссылаетесь, предполагает, что MS не собирается отказываться от своей огромной базы разработчиков и / или превращать их весь код в HTML5 + JS, и что это скорее пиар-баг, чем все остальное.
Скотт Уитлок
@ScottWhitlock - это всего лишь Microsoft, расширяющая инструменты, которые вы можете использовать, не умаляя и не отказываясь от поддержки любых существующих инструментов. Это отличный способ привлечь больше разработчиков в экосистему Microsoft.
Рейнос
4

Помните, что злостные люди, не работающие в Microsoft, не из Apple, управляются из командной строки, и дизайн GUI там довольно бесполезен. Они в некоторой степени скомпрометируют и создадут графические интерфейсы в HTML, которые будут использоваться браузерами, но это для их клиентов, а не для них самих.

Если вы хотите остаться в мире графического интерфейса, я полагаю, вы, возможно, захотите взглянуть на Apple или остаться с .NET на Windows.

Имеет смысл?

НТН

Кристофер Махан
источник
4
Это не совсем верно. В мире * nix у нас есть и широко используются графические интерфейсы.
Greyfade
@ Кристофер: я знаю и абсолютно в курсе этого. Взять, к примеру, Oracle. Они вышли с HTML GUI, который очень медленный. Я не смотрю только негативы, возможно, Oracle можно очень хорошо управлять через командную строку.
РПК
@RPK: IIRC, Oracle 9i имела замечательный инструмент администрирования, который представлял собой настольное приложение с графическим интерфейсом. Я очень предпочел это администрированию командной строки. Oracle 10g реализовал это как веб-страницу, что было не так приятно.
Дэвид Торнли
1
GTK довольно популярен на десктопах Linux, и есть другие наборы инструментов GUI. Я не думаю, что вообще нормально запускать рабочий стол без графического интерфейса, даже если вы используете терминал для множества задач; хотя на * nix серверах вы обычно делаете все через командную строку.
Джереми
2
+1, потому что я похож на это замечание. Как правило, программирование GUI, которое я делаю, связано с веб-приложением. Я прилагаю сознательные усилия, чтобы использовать эту степень дизайна, делая ее интуитивно понятной, простой и очевидной, но мой собственный опыт работы с компьютером - это примерно 80% Emacs, 15% браузер, 6% другие (с погрешностью 1%) ,
Инамати
3

Я бы порекомендовал Java в вашей ситуации.

Причины:

  • Если вы знаете .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, если вы чувствуете себя предприимчивым .....

mikera
источник
3
Кроме того, Java-разработчики, как правило, лучше разбираются в правильном способе написания программного обеспечения, в то время как многие другие .NET парни просто берут код без применения шаблонов проектирования, SOLID и т. Д.
Уэйн Молина
-1

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

make_sense
источник
-4

Посмотрите на другие языки программирования, которые работают с .Net, такие как IronRuby и IronPython. Далее ознакомьтесь с монопроектом .

Эти шаги выведут вас из зоны комфорта .Net и начнут разрабатывать на Linux. Оттуда это небольшой скачок к полноценной разработке в стиле UNIX.

Крис Макколл
источник
5
-1 потому что он заявляет в вопросе «Я не хочу идти с IronPython и IronRuby»
Inaimathi