Question

Pour les deux dernières années, tous les projets sérieux j'ai travaillé ont été soit basé sur le Web, ou avait une interface utilisateur non graphique (services, scripts de ligne de commande, etc ...). Je peux jeter ensemble une application WinForms ou faire quelques WPF simples en cas de besoin, mais je ne l'ai jamais vraiment puisé dans certains des API de niveau inférieur comme MFC ou QT.

Je comprends que cela dépend de la situation, mais en général il est toujours utile de prendre le temps d'apprendre le développement de bureau ou bien sont des applications mobiles sur le Web et les appareils mobiles à un rythme qui rend cette connaissance moins pertinente? De plus, prévoyez-vous des développeurs que vous travaillez pour avoir une expertise de bureau IUG?

Était-ce utile?

La solution

Je dirais, c'est oui. Il y a une sorte d'effet de pendule dans le développement du programme. D'abord tout se directement sur l'ordinateur. Puis, quand l'ordinateur est devenu assez puissant pour exécuter plusieurs programmes, ils ont des ordinateurs centraux avec des terminaux muets. Mais muets terminaux sucent vraiment en termes de facilité d'utilisation, dès que les ordinateurs ont assez puissant pour mettre des quantités raisonnables de matériel à l'intérieur d'un système terminal de taille, nous avons obtenu des ordinateurs personnels, et tout se directement sur l'ordinateur.

Alors ils ont inventé le World Wide Web, et nous sommes de retour à un ordinateur central (serveur) et un terminal muet (navigateur.) Mais les terminaux muets toujours sucent vraiment en termes de facilité d'utilisation, et les gens commencent à réapprendre les leçons il y a de 30 ans, et nous sommes loin de cette tendance à nouveau. Beaucoup de développement vraiment chaud ces jours-ci est pour le bureau (ou mobile) applications qui fonctionnent localement, mais sont capables de se connecter à l'Internet à des fins spécifiques pour améliorer leur fonctionnalité.

Autres conseils

Même si vous ne l'intention de faire dev bureau, je vous conseille de prendre assez d'expérience que vous auriez une opinion éclairée sur le moment où il est préférable d'utiliser une solution de bureau sur un client Web.

Oui, mais pas dans la façon dont vous pensez.

GUI La programmation est pas plus difficile ni ne nécessite en dehors des compétences spécialisées de familiarité avec l'interface de programmation graphique. Accrocher est assez facile est pas très difficile des boutons et des fenêtres et des contrôles et des environnements de programmation modernes par rapport aux premiers jours avec des choses comme MFC. la programmation GUI est une chose qui est assez facile à apprendre quand son demandé.

Cependant, lors de la fixation des boutons et des zones de texte est assez facile, de savoir quand et où placer des boutons et conception une interface utilisateur graphique à utiliser par des êtres humains est très difficile. C'est une compétence très utile et important d'avoir. Cependant, les principes de conception applicables aux interfaces natives vs le web sont très similaires.

Alors apprendre comment concevoir des interfaces utilisateur bonnes qui sont efficaces et ne confondez pas les utilisateurs, et vous aurez connaissance de la programmation pour eux gratuitement.

Il va vraiment dépendre de votre situation. J'ai récemment travaillé pour une entreprise Fortune 500 qui avait plusieurs projets pour convertir des applications web back dans les applications de bureau (SmartClient / Click-Once). Dans leurs circonstances particulières, il a fait beaucoup de sens et éliminé plusieurs problèmes d'utilisation de leurs applications existantes ont souffert de.

Si vous êtes un employé à temps plein et votre entreprise ne conçoit généralement pas les applications que bureau alors il n'a probablement pas de sens d'être pleinement à la vitesse sur Winforms ou WPF. Toutefois, si vous êtes un consultant et vous souhaitez être en mesure d'offrir un service à vos clients, il ne peut pas possiblly mal.

Hmm, en plus GMail, Stack-échange et la banque à domicile de ma banque, j'utilise tout le jour des logiciels non-web. Maintenant, avec l'avènement des smartphones et tablettes, applications web sont encore moins attrayant pour moi (j'utiliser mon smartphone client Facebook). C'est côté utilisateur.

Développeur côté: dans mes 10 dernières années, je travaille presque exclusivement sur des logiciels non-web (et ma carrière étendue sur de nombreux domaines très différents comme je l'ai travaillé en tant que consultant en informatique) et je ne vois pas de tendance web avenir mon travail.

Alors oui, il est encore un must environnements d'apprentissage de l'interface graphique de bureau.

Bien sûr « ça dépend » - mais je pense que votre expérience est typique. J'ai rarement eu à créer un client lourd pour l'une des applications que je l'ai écrit. À moins qu'il y ait une raison spécifique que les besoins des clients à exécuter sur le poste de travail (problèmes de connectivité ou jeu 3D, etc) - Je crois qu'il est plus facile pour le développeur et les administrateurs de maintenir une « instance » de l'application. S'ils ont les compétences pour concevoir une application web, ils doivent se déplacer sur OK dans le domaine de l'application de bureau en général.

En fait, je pense qu'il est plus important qu'un développeur de client lourd apprendre la programmation d'applications Web - l'apatridie Hériter de HTTP en fait un paradigme de développement d'applications plus difficiles à enrouler autour de votre tête (ou au moins vous avez à faire un peu plus penser que de gifles contrôles sur un panneau).

Ne pas oublier -. Vous avez des technologies telles que Silverlight et Adobe Flex / AIR qui peuvent chevaucher la ligne entre bureau / application web

Selon l'équipe IE9:

Il ne devrait pas avoir un écart entre les applications natives et Web. accélération HW, JS et du site rapide épinglant commence hors tension

Je pense qu'il est fort à parier que ces technologies vont se rapprocher ensemble. Si vous êtes un développeur java, il y a très peu de différence entre le développement d'applications de bureau et des applications Web (en utilisant GWT). Il est pas déraisonnable d'attendre de plus en plus des plates-formes de développement « de bureau » pour être en mesure de cibler le moteur du navigateur. Il est également pas déraisonnable d'attendre de plus en plus d'applications de bureau pour avoir un modèle de distribution comme web (mise à jour automatique en arrière-plan, l'exécution sandbox, comme le chrome).

Licencié sous: CC-BY-SA avec attribution
scroll top