J'ai reçu une offre d'emploi aujourd'hui pour un poste de développeur SharePoint. Un de mes amis me dit que sharepoint est un gros gâchis et pas quelque chose que je voudrais faire.
Quelles sont vos expériences/réflexions en travaillant avec SharePoint?
Je vais inverser un peu la tendance ici. Je vois SharePoint comme une plateforme de développement - claire et simple. Il utilise d'autres technologies telles que IIS, ASP.NET, SQL Server et Windows Workflow, je n'ai donc pas à réinventer la roue. Cela me permet de me concentrer sur la résolution de problèmes commerciaux au lieu de me soucier de la plomberie et du code au niveau du système.
Ne vous méprenez pas, SharePoint est livré avec des bagages, mais si vous aimez résoudre des problèmes commerciaux réels et pas seulement du code de fronde, il a beaucoup à offrir. Je suis constamment étonné de la richesse de la plateforme avec WSSv3 - qui est gratuit.
Si vous aimez vous aligner sur la technologie Microsoft, vous devez vous rendre compte que SharePoint est là pour rester et continuera de s'améliorer et d'être plus courant. La version actuelle (v3 - WSSv3/MOSS 2007) manque dans AJAX, les réseaux sociaux et d'autres fonctionnalités/technologies. La version v4 est à nos portes et devrait s'améliorer dans ces domaines .
En ce qui concerne certains des négatifs que j'ai lus dans ce fil:
J'ai écrit des composants WebPart qui vivent dans SharePoint qui utilisent la boîte à outils AJAX et donc mes collègues. Un collègue est très actif avec les composants WebPart Silverlight.
Oui, vous avez tendance à développer sur Windows Server 2003/2008. Cela ne me dérange pas et je ne passe pas beaucoup de temps à l'installation et à la configuration. J'utilise parfois des machines virtuelles pour les environnements de développement et je conviens que cela peut parfois être pénible.
Ce que je peux faire, cependant, est de configurer certaines choses au lieu de les développer. Autorisation, fait; approvisionnement, fait; sécurité au niveau des lignes, fait; UUD CRUD de base, fait; déploiement sur plusieurs frontaux, fait; recherche, fait. J'ai maintenant le temps de me concentrer sur la résolution du problème commercial.
Si vous allez faire du développement SharePoint, vous devez commencer du bon pied. Je recommande fortement à l'intérieur de Microsoft Windows SharePoint Server 3. pour en savoir plus sur ce qu'un développeur peut/devrait faire dans SharePoint.
Pour ce que ça vaut, je suis développeur depuis plus de 20 ans, travaillant sur Unix et Windows dans plusieurs langues et technologies différentes. Je me concentre sur SharePoint v3 depuis les jours bêta et je suis satisfait de la direction que j'ai choisie.
Je suis surpris de toutes les réponses positives. Permettez-moi de vous demander, cela vous dérange-t-il de créer votre balisage dans le code? Comme dans HtmlWriter.BeginTag ("br") (ou autre, désolé de ne pas connaître l'API HtmlWriter). Cela est considéré comme les meilleures pratiques pour créer des composants WebPart redistribuables.
Que diriez-vous de la boîte à outils Ajax? Oups, hors limites. Ne fonctionne pas en raison d'un type de document manquant dans l'en-tête.
Et votre ordinateur portable exécute Windows Server 2003, non? Parce que bien sûr, Sharepoint ne fonctionnera sur rien d'autre.
Je comprends que les gens défendent leur plate-forme, mais en tant que quelqu'un qui a dû travailler dans Sharepoint, mais qui ne le fait plus ... permettez-moi de dire que développer pour Sharepoint est la pire expérience de développement de ma vie. Maintenant, j'ai été assez prudent dans mes choix à ce jour, donc ce n'est pas la pire expérience possible, mais c'est là-bas. Ou, pour le dire autrement, je préférerais de loin travailler dans PHP que Sharepoint.
Ma petite boutique en ligne a brièvement adopté SharePoint il y a quelques années; nous avons fait du conseil, de la personnalisation, de la formation, etc. C'est vrai que vous sortez beaucoup de la boîte, et je comprends que cela s'est beaucoup amélioré; mais l'expérience globale a été très négative et nous n'avons jamais regardé en arrière.
En général, SharePoint ne tient pas sa promesse de plusieurs façons qui ne font que mystifier: les choses qui sembleraient évidentes nécessitent toutes sortes de développement personnalisé.
Nous sommes revenus à rouler nos propres solutions pour les clients; ils sont beaucoup plus satisfaits de cet arrangement, et nous aussi.
bon ============================= [=] === mauvais
Sharepoint IS un énorme gâchis.
Il faut le dire, la plate-forme fait de l'argent, mais plus comme un système de gagner de l'argent. Les compétences des développeurs dans Sharepoint sont rares et les personnes possédant ces compétences sont bien rémunérées. Les clients paient leurs dents pour les maisons de développement et de développement personnalisées de Sharepoint. Par conséquent, ils font de leur mieux pour convaincre leurs clients que Sharepoint est la solution idéale pour tout.
À mon avis, Sharepoint n'est pas une plateforme de développement, mais une plateforme qui rapporte de l'argent.
Edit: j'ai aussi oublié d'en ajouter 11. C'est un cochon ressource comme vous n'en avez jamais vu auparavant.
Je trouve que la plus grande frustration avec SharePoint, même la dernière version, est le manque d'attention à la documentation. Il y a tellement d'appels d'API mal documentés. Je peux sentir ma tension artérielle augmenter juste après avoir affiché cette réponse.
J'ai aimé que Kirk travaille également avec SharePoint depuis la version bêta de 2003 et je l'aime toujours. Bien sûr, vous pouvez toujours souhaiter que quelque chose ait été mieux pensé - mais je suppose que vous pouvez dire cela pour presque tous les produits Enterprise. Pour moi, les points positifs l'emportent largement sur les points négatifs lorsqu'il s'agit de créer des solutions au-dessus de la plateforme SharePoint.
Permettez-moi en tant que développeur de partager avec vous mes 5 meilleures choses et les 5 meilleures choses à propos de SharePoint:
Top 5 des bonnes choses sur SharePoint
Top 5 des mauvaises choses à propos de SharePoint
Je ne savais rien de SharePoint il y a 3 mois. Depuis lors, j'ai dû créer quelques composants WebPart personnalisés pour le nouveau site de support de mon entreprise et je suis d'accord avec votre ami, c'est un gros gâchis.
Au début, j'ai été impressionné par tout ce que vous pouviez faire avec la plate-forme sans aucun codage. Mais c'était frustrant de faire fonctionner correctement mes affaires. J'ai essayé d'incorporer un contrôle utilisateur que j'avais écrit plus tôt et qui fonctionnait très bien dans une application Web classique, mais un élément clé ne fonctionnerait tout simplement pas dans SharePoint pour des raisons qui me dépassent encore. J'ai réussi à trouver une solution de contournement, mais j'ai perdu deux semaines dans le processus.
Il était également décourageant d'apprendre que l'environnement de développement doit être une machine exécutant réellement SharePoint, qui doit fonctionner sous Windows 2003/2008. J'ai dû installer une machine virtuelle sur mon système existant, ce qui n'est pas un gros problème mais c'est un obstacle de plus que vous devez surmonter.
Dans l'ensemble, cela semblait trop déroutant pour ce que vous essayez de faire. Je suis d'accord avec le sentiment que beaucoup de temps est consacré à l'installation, la configuration et le déploiement par rapport au développement réel. Peut-être que la version 2010 sera meilleure. Ce n'est certainement pas un produit avec lequel j'ai hâte de travailler.
Je suis dans 3 mois dans un projet SharePoint qui se terminera bientôt.
Je passe mes journées à parcourir les journaux d'erreurs pour essayer de comprendre pourquoi divers composants SharePoint ne fonctionnent pas comme MS le dit. La documentation est considérée par beaucoup dans l'industrie du développement comme "... la pire que j'aie jamais vue". Bonne chance pour trouver quelque chose d'utile sur un site lié à la SEP.
De nombreuses "fonctionnalités sociales" dépendent d'UPS (User Profile Service) qui est notoirement bogué et difficile à configurer; google et vous verrez. Sur mon projet, il a fallu plusieurs semaines aux développeurs et un doctorat en EE pour que UPS fonctionne. Tout cela pour un webservice! En raison de problèmes de stabilité persistants, la société a finalement embauché un auteur SharePoint qui a proclamé "Je crois en cette plate-forme!". Ouai, bien sur. Je me demande combien il est payé pour le dire. Cependant, prenez courage, à chaque nouvelle mise à jour MS Cummulative, UPS se rapproche de plus en plus de la viabilité, du moins pour un environnement de développement. Il a parcouru un long chemin depuis la version initiale alors qu'il ne fonctionnait pas du tout.
Vous passerez une grande partie de votre temps à configurer les paramètres Active Directory, IIS, ForeFront Identity Management Services, SQLServer et Server2008. Gardez à l'esprit que la plupart de ces paramètres entreront en conflit les uns avec les autres, alors soyez prêt à passer beaucoup de temps sur les blogs SharePoint à la recherche de solutions. En fait, la plupart des blogs SharePoint sont dédiés aux solutions de contournement et aux hacks juste pour faire fonctionner SharePoint ou au moins l'amener aux fonctionnalités du site Web de base. Je pensais que l'intérêt d'une plate-forme avec des fonctionnalités prédéfinies était de diminuer votre charge de travail, pas de l'augmenter. Si vous aimez mettre du code et ne pas jouer à l'administrateur ou au détective de blog, ce n'est pas la plate-forme pour vous.
Comme mentionné ailleurs, les exigences de développement sont folles. SharePoint Server (la version complète du produit) ne peut/ne doit être exécuté que sur un serveur Windows. Pour moi, cela signifie une machine virtuelle. 8 Go de RAM est vraiment minimum, vous pouvez vous en sortir. J'ai fini par acheter des Core i5, 16 Go et SSD juste pour créer un environnement de développement assez rapide. Il s'agit de développement Web, pas de montage vidéo.
Si vous et/ou votre équipe avez la chance d'obtenir SharePoint légèrement stable dans un environnement de production, les utilisateurs finaux seront traités avec des chargements de page de 5 secondes, des temps de réponse lents pour presque tous les types de demandes et peut-être l'interface utilisateur la plus intuitive de ces dernières années. histoire informatique. L'une des principales attractions de SharePoint est que vous pouvez modifier des pages Web à la volée en ajoutant différents types de composants WebPart ou en utilisant SharePoint Designer pour modifier la structure de la page. Cela peut causer beaucoup de problèmes aux développeurs expérimentés, de sorte que les utilisateurs non techniques auxquels cette fonctionnalité est destinée, mourront. Ils rencontreront un chœur d'erreurs d'ID de corrélation qui leur donneront un GUID très utile et informatif.
Les développeurs et les utilisateurs finaux perdent tous les deux face à ce gâchis. La seule chose pour laquelle SharePoint est bon, c'est de me faire croire à la nécessité de l'open source.
PS - Veuillez ne pas attaquer mon orthographe ou ma grammaire. Je ne suis pas un major anglais.
J'ai une bonne expérience de développement .net et 3 mois sur SP, mon expérience jusqu'à présent:
Le bon:
Je pense que SP est bon pour une application avec un modèle de données simple, de préférence lourd en lecture. Un énorme point fort est ce que les utilisateurs/administrateurs peuvent réaliser avec la configuration uniquement. Changer la structure des données à la volée, modifier l'apparence et sentir, etc. Une merveilleuse plate-forme pour le genre de choses "mes livres" ..
Le mauvais:
Mais il y a beaucoup de choses où SP trébuche et tombe (sur vous). Par exemple, il est difficile de travailler quand une logique non triviale est requise, en particulier des fonctions d'agrégation sur des relations de clé étrangère. Et de bien sûr, le manque de transactions. Le maintien de l'intégrité des données pourrait devenir un problème. Méfiez-vous de cela lorsque vous envisagez de travailler sur un projet spécifique.
Il y a peu de prise en charge à la compilation, la majorité de vos tâches incluront jouer avec les ressources recherchées en l'appelant par son nom sous forme de chaîne. Il peut être considéré comme "flexible" et "simple", mais c'est tout simplement trop erreur-Prune à mon goût et ralentit le développement. Bien sûr, ce n'est pas seulement SP chose, mais les MVC/formulaires Web semblent plus facilement poussés vers le monde fortement typé.
Si vous aimez le monde managé, traitez le fait que la grande majorité de SP est du code non managé, vous donnant des exceptions comme "HResult 8000072F" avec pratiquement aucune trace de pile pour vous indiquer ce qui pourrait ont échoué.
Le déploiement et la reproductibilité des bogues ont causé de nombreux jours frustrants. WSS prend la machine entière pour elle-même, les fichiers nécessaires pour exécuter l'application sont dispersés autour de la base de données, du système de fichiers (et très souvent de GAC). Pour avoir une séparation de base des projets, attendez-vous à travailler sur de nombreuses machines virtuelles différentes.
Le support de l'outil est assez médiocre (pas essayé VS 2010). Mieux vaut s'attendre à se faire des amis avec la ligne de commande et les scripts. Attendez-vous à ce que l'expérience de débogage soit lente. Les tests unitaires sont assez difficiles à faire ..
Ma conclusion personnelle: SP a sa niche mais ce n'est pas une plate-forme qu'un programmeur .Net peut apprécier. L'expérience utilisateur peut avoir quelques "WOW" occasionnels, mais le l'expérience des développeurs ne l'a pas fait. Cela pourrait être la "courbe d'apprentissage abrupte", mais peut-être que c'est juste comme ça.
SharePoint peut parfois être frustrant. Il s'agit d'un "produit en cours de maturation" selon Microsoft, donc lorsque vous faites quelque chose de mal, vous obtenez des erreurs de Nice comme "une erreur s'est produite" ou "ne peut pas terminer l'action". CAML est quelque chose qui nécessite une grande patience. La documentation à ce sujet n'est pas très bonne et vous pouvez perdre beaucoup de temps sur une erreur de syntaxe stupide.
Dans l'ensemble, c'est une plate-forme décente, mais cela vous fera probablement obtenir des cheveux gris plus tôt que vos pairs.
C'est une (bonne?) Façon de payer les factures ....
SharePoint est un produit v2 ... la v3 est prévue pour 2010, et c'est le produit à la croissance la plus rapide de l'histoire de MS (soi-disant). La v2 est à court de maturité, et elle laisse certainement à désirer pour ceux d'entre nous qui développent, mais il existe de nombreux outils qui facilitent le développement contre elle (stsdev, en étant un).
C'est quelque chose que vous verrez de plus en plus si vous restez dans le domaine Windows. C'est une plateforme puissante et son avenir s'annonce très prometteur.
Du point de vue d'un développeur, il est un peu frustrant qu'ils aient pensé à développer contre lui comme une sorte de réflexion après coup, comme le sont la plupart des applications basées sur Windows. L'utilisateur final gagne en priorité, c'est sûr.
Le travail SharePoint est difficile et gratifiant, même sans l'aspect développement de celui-ci. Vous affectez l'ensemble de l'organisation et aidez réellement les entreprises à mieux fonctionner. L'aspect développement vous frustrera de temps en temps, mais tout tend à s'équilibrer.
Cela varie beaucoup en fonction de la façon dont le projet est exécuté - si vous travaillez dans la conception de SharePoint, vous pouvez accomplir beaucoup sans trop d'efforts. Si vous avez des exigences qui vont à l'encontre de cela et que le client ne veut pas faire de compromis, cela peut devenir assez frustrant.
Vous avez également tendance à obtenir un grand nombre d'environnements qui n'ont pas été correctement configurés - même des choses aussi basiques que le contrôle de source et le déploiement reproductible sont souvent omises. Les gens de l'infrastructure ne comprennent souvent pas SharePoint, donc vous rencontrez des problèmes comme le fait de ne pas pouvoir connecter votre environnement de développement à un réseau.
Cependant, la plupart de ces problèmes sont assez facilement résolus s'il y a une personne impliquée qui sait ce qu'elle fait. Une fois que vous avez dépassé les problèmes de projet et d'environnement, c'est une bonne plate-forme pour travailler.
La documentation officielle n'est pas particulièrement utile, mais la documentation et les outils non officiels disponibles se sont considérablement améliorés depuis que j'ai commencé à travailler avec la plateforme.
Il ressort clairement des autres réponses qu'il y a beaucoup de frustration pour les développeurs SharePoint.
Les données sont les suivantes:
C'est certainement une technologie qui mûrit encore pour les développeurs. La quantité d'informations disponibles auprès de la communauté des développeurs et de Microsoft a considérablement augmenté au cours des 2 dernières années. Il y a beaucoup de conseils provenant de l'équipe des modèles et des pratiques pour SharePoint qui peuvent être trouvés ici: http://www.codeplex.com/spg
Quant à certains des autres commentaires - c'est le produit Microsoft à la croissance la plus rapide mesuré sur les licences vendues, pas nécessairement sur les installations! Et oui, la fonctionnalité fournie avec WSS 3.0 gratuitement est assez incroyable.
Il y a une très large portée de ce que le "développement SharePoint" pourrait englober. Il pourrait s'agir d'un développement de contenu Web pur piloté par le navigateur Web et des outils comme SharePoint Designer. Ou descendre et écrire des composants WebPart ASP.NET personnalisés, Windows Workflow, des services Web ASP.NET personnalisés et des pages hébergées dans SharePoint et bien plus encore.
Il existe de nombreux services Web prêts à l'emploi fournis avec SharePoint qui permettent l'intégration avec d'autres systèmes et certaines personnes peuvent appeler la programmation par rapport à cette API "développement SharePoint".
Je pense que la règle d'or avec SharePoint en général est qu'en surface, il semble être un produit global qui essaie de tout faire pour tout le monde. Parfois, vous n'avez pas à gratter la surface très loin pour réaliser que la plate-forme ne va pas répondre à vos besoins commerciaux particuliers sans une personnalisation importante. C'est parfois le dernier 10% de la fonctionnalité requise qui vous coûte 90% de l'effort!
C'est à la fois l'expérience la plus frustrante et la plus enrichissante que vous aurez. Bien que la récompense se présente (au moins partiellement) sous la forme d'un excellent salaire (par rapport à un développeur Web simple), les frustrations ne sont rien qui ne peut être surmontée avec stackoverflow et Google à vos côtés.
Je fais du développement SharePoint depuis 2003 et les vallées de "I FREAKING HATE SHAREPOINT!" sont toujours décalés par les moments de "DUDE, C'EST FREAKING AWESOME!"
Si on vous propose un poste d'entrée de gamme dans SharePoint, je le prendrais en un clin d'œil. Vous recevrez une formation en cours d'emploi sur l'une des technologies les plus en vogue.
Si vous avez une formation en développement Web, je pense que vous pourriez être frustré par le manque de flexibilité que Sharepoint offre aux développeurs. Être limité à penser en termes de "composants WebPart", n'est pas très amusant si vous avez déjà eu la possibilité d'écrire un peu plus près du HTML.
De plus, j'ai constaté que beaucoup de temps était consacré aux problèmes de configuration/implémentation, par rapport au développement Web régulier.
Vous obtenez cependant une quantité raisonnable de fonctionnalités "prêtes à l'emploi".
J'étais à l'origine un développeur ASP.NET créant des systèmes de gestion de contenu Web et travaillant avec des systèmes de gestion de documents. SharePoint était une progression naturelle dans cet espace en s'appuyant sur les compétences que j'avais déjà au sommet d'une plate-forme.
J'ai fait une présentation sur cette dernière année qui pourrait être intéressante.
Plus d'informations sont disponibles ici: http://sharepointdevwiki.com/x/HYBfAQ
Je suis heureux d'annoncer avoir une expérience positive avec la programmation SharePoint. Je suis d'accord que les pages maîtres et les CSS prêts à l'emploi sont assez mauvais, et le manque de documentation ici et là dans l'API peut parfois être très frustrant, mais ce sont des revers mineurs si vous voyez SharePoint comme un cadre de développement à la place comme un produit fini qui peut être personnalisé. J'ai lu quelqu'un chez MS décrivant le SharePoint comme une "pâte à modeler", avec les modèles prêts à l'emploi simplement comme des "démos" de ce qui peut être réalisé.
Je trouve assez facile et direct de créer une page maître personnalisée (avec le bon type de document dans l'en-tête pour supprimer le terrible BackCompat et activer CSS1Compat, par exemple) ou avoir mes pages aspx avec du code-behind ou autre. En résumé, tout ce que vous pouvez faire au sein d'un site Web dans pure asp.net 2.0, vous pouvez faire de même avec SharePoint et bénéficier de son évolutivité, de ses techniques de déploiement, de son API, de son modèle d'autorisation, de ses audits, de son système de stockage de documents, de son intégration InfoPath, de ses flux de travail, etc.
Je suppose qu'en fin de compte, cela dépend vraiment de votre point de vue: SharePoint est-il une plate-forme de développement avec une collection "de démonstration" de modèles de site, ou juste un produit semi-fini qui vous permet de le personnaliser ici et là?