Frage

In den letzten Jahren wurden alle ernsthaften Projekte, an denen ich gearbeitet habe, entweder webbasiert oder hatten eine nicht grafische Benutzeroberfläche (Dienste, Befehlszeilenskripte usw.). Ich kann eine WinForms -App zusammenwerfen oder bei Bedarf einfache WPF machen, aber ich habe nie wirklich in einige der unteren APIs wie MFC oder QT eingeteilt.

Ich verstehe, dass dies von der Situation abhängt, aber im Allgemeinen lohnt es sich immer noch, sich die Zeit zu nehmen, die Desktop -Entwicklung gut zu lernen, oder sind Anwendungen in ein Tempo, das dieses Wissen weniger relevant macht? Erwarten Sie auch Entwickler, mit denen Sie zusammenarbeiten, um Desktop -GUI -Know -how zu haben?

War es hilfreich?

Lösung

Ich würde ja sagen, es ist. Es gibt eine Art Pendeleffekt in der Programmentwicklung. Zuerst lief alles direkt auf dem Computer. Als der Computer dann leistungsfähig genug wurde, um mehrere Programme auszuführen, erhielten er Mainframes mit dummen Terminals. Aber dumme Terminals saugen wirklich an die Benutzerfreundlichkeit.

Dann haben sie das World Wide Web erfunden, und wir sind zurück zu einem Mainframe (Server) und einem dummen Terminal (Browser), aber dummen Terminals, aber dumme Terminals still Wirklich in Bezug auf die Benutzerfreundlichkeit saugen, und die Leute beginnen, die Lektionen von vor 30 Jahren neu zu lernen, und wir haben uns wieder davon ablenken. Viele der wirklich heißen Entwicklung heutzutage sind für Desktop- (oder mobile) Apps, die lokal ausgeführt werden, aber für bestimmte Zwecke eine Verbindung zum Internet herstellen können, um ihre Funktionalität zu verbessern.

Andere Tipps

Selbst wenn Sie nie beabsichtigen, Desktop Dev zu machen, würde ich vorschlagen, dass Sie genügend Erfahrung erhalten, dass Sie eine informierte Meinung haben, wenn es besser ist, eine Desktop -Lösung über einen Web -Client zu verwenden.

Ja, aber nicht so, wie Sie denken.

Die GUI -Programmierung ist nicht schwieriger, und es erfordert auch spezielle Fähigkeiten, abgesehen von der Vertrautheit mit der GUI -Programmierschnittstelle. Das Anschließen von Tasten und Fenstern und Steuerelementen ist nicht besonders schwierig und ist in modernen Programmierumgebungen im Vergleich zu den frühen Tagen mit Sachen wie MFC ziemlich einfach. GUI -Programmierung ist Dinge, die ziemlich leicht zu lernen sind, wenn es verlangt wird.

Während es jedoch ziemlich einfach ist, Schaltflächen und Textfelder anzuschließen, wissen Sie, wann und wo Sie Knöpfe platzieren sollen, und Entwerfen Eine GUI, die von Menschen verwendet werden soll, ist sehr schwierig. Das ist eine sehr wertvolle und wichtige Fähigkeit. Die Designprinzipien, die für native Schnittstellen im Vergleich zu dem Web gelten, sind jedoch sehr ähnlich.

Lernen Sie also, wie Sie gute Benutzeroberflächen entwerfen, die effektiv sind, und verwirren Sie Benutzer nicht. Sie werden mit der Programmierung für sie kostenlos vertraut sein.

Es wird wirklich von Ihrer Situation abhängen. Ich habe kürzlich für ein Fortune 500-Unternehmen gearbeitet, das mehrere Projekte hatte, um Webanwendungen wieder in Desktop-Anwendungen (SmartClient/Click-Once) umzuwandeln. Unter ihren besonderen Umständen machte es viel Sinn und beseitigte mehrere Usability -Probleme, unter denen ihre vorhandenen Apps litten.

Wenn Sie ein Vollzeit-Mitarbeiter sind und Ihr Unternehmen im Allgemeinen keine Desktop-Apps entwirft, ist es wahrscheinlich keinen Sinn, auf WinFels oder WPF auf dem neuesten Stand zu sein. Wenn Sie jedoch Berater sind und Ihren Kunden einen weiteren Service anbieten möchten, kann dies nicht möglich sein.

Hmm, neben Google Mail, Stack-Exchange und dem Heimbanken meiner Bank, benutze ich den ganzen Tag mit Nicht-Web-Software. Mit dem Aufkommen von Smartphones und Tablets ist die Webanwendung für mich noch weniger attraktiv (ich benutze meinen Smartphone -Facebook -Client). Das ist benutzerseitig.

Entwickler-Seite: In meinen letzten 10 Jahren habe ich fast nur an Nicht-Web-Software gearbeitet (und meine Karriere hat viele sehr unterschiedliche Domains überschritten, als ich als Softwareberater arbeitete) und ich sehe keinen zukünftigen Web-Trend in meinem Job.

Also ja, es ist immer noch ein Muss Lernen von Desktop -GUI -Umgebungen.

Natürlich "Es hängt davon ab" - aber ich denke, Ihre Erfahrung ist typisch. Ich musste selten einen dicken Kunden für eine der von mir geschriebenen Anwendungen erstellen. Es sei denn, der Kunde muss auf dem Desktop (Konnektivitätsprobleme oder 3D -Spiel usw.) ausgeführt werden - ich glaube, dass es für den Entwickler und die Administratoren einfacher ist, eine "Instanz" der Anwendung zu erhalten. Wenn sie über die Fähigkeiten verfügen, um eine Webanwendung zu entwerfen, sollten sie in der Regel in den Desktop -App -Bereich eingehen.

Eigentlich denke ich, dass es wichtiger ist, dass ein dicker Client -Entwickler Web -Anwendungsprogrammierung lern Steuerelemente auf einem Panel).

Vergessen Sie nicht - Sie haben Technologien wie Silverlight und Adobe Flex/Air, die die Grenze zwischen Desktop/Webanwendung überspannen können.

Nach dem IE9 -Team:

Es sollte keine Lücke zwischen nativen und Web -Apps geben. HW -Beschleunigung, schnelle JS und Site Pinning starten es

Ich denke, es ist eine sichere Wette, dass diese Technologien näher zusammenkommen. Wenn Sie ein Java -Entwickler sind, gibt es kaum einen Unterschied zwischen der Entwicklung von Desktop -Apps und Web -Apps (mit GWT). Es ist nicht unangemessen, immer mehr "Desktop" -D -Entwicklungsplattformen zu erwarten, um die Browser -Engine abzielen zu können. Es ist auch nicht unangemessen, immer mehr Desktop-Apps zu erwarten, dass sie ein webartiges Verteilungsmodell haben (automatisch im Hintergrund, sandboxte Ausführung wie Chrome).

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top