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


10

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

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

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

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


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

2
@ Махмуд Они перестали тратить деньги на это; они просто позволяют сообществу управлять им сейчас. Ведущий разработчик, Джим Хугунин, больше не мог работать над этим из Microsoft, поэтому, естественно, он также покинул компанию: hugunin.net/microsoft_farewell.html
Рей Миясака,


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


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

-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.