C# sharepoint 编程有多好/多坏?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/832465/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How good/bad is sharepoint programming?
提问by Superdumbell
I got a job offer today for a position as a SharePoint developer. One of my friends is telling me that sharepoint is a big mess and not something I would want to be doing.
我今天收到了一份 SharePoint 开发人员职位的工作机会。我的一个朋友告诉我,sharepoint 是一团糟,我不想做。
What are some of your experiences/thoughts in working with SharePoint?
您在使用 SharePoint 时有哪些经验/想法?
采纳答案by Kirk Liemohn
I'm going to buck the trend here a bit. I see SharePoint as a development platform - plain and simple. It utilizes other technologies such as IIS, ASP.NET, SQL Server, and Windows Workflow so I don't have to reinvent the wheel. It lets me focus on solving business problems instead of worrying about plumbing and system-level code.
我将在这里逆势而上。我将 SharePoint 视为一个开发平台 - 简单明了。它利用了其他技术,例如 IIS、ASP.NET、SQL Server 和 Windows 工作流,因此我不必重新发明轮子。它让我专注于解决业务问题,而不是担心管道和系统级代码。
Don't get me wrong, SharePoint does come with baggage, but if you like to solve real-world business problems and not just sling code, it has a lot to offer. I am continuously amazed at how rich the platform is with WSSv3 - which is free.
不要误会我的意思,SharePoint 确实带有包袱,但如果您喜欢解决现实世界的业务问题而不仅仅是吊索代码,它可以提供很多东西。我一直对 WSSv3 平台的丰富程度感到惊讶 - 这是免费的。
If you like to align yourself with Microsoft technology, then you need to realize that SharePoint is here to stay and will continue to get better and be more commonplace. The current version (v3 - WSSv3 / MOSS 2007) is lacking in AJAX, social networking, and other functionality/technology. The v4 version is just around the corner and is bound to improve in these areas.
如果您喜欢与 Microsoft 技术保持一致,那么您需要意识到 SharePoint 将继续存在,并将继续变得更好,变得更加普遍。当前版本 (v3 - WSSv3 / MOSS 2007) 缺乏 AJAX、社交网络和其他功能/技术。v4 版本即将到来,并且必将在这些方面进行改进。
In regards to some of the negatives I have read in this thread:
关于我在这个线程中读到的一些负面信息:
I have written web parts that live in SharePoint that utilize the AJAX toolkit and so have co-workers of mine. One co-worker is very active with Silverlight web parts.
Yes, you do tend to develop on Windows Server 2003/2008. This doesn't bother me and I don't spend much time at all on installation and configuration. I do use virtual machines for development environments sometimes and agree that can sometimes be a pain.
我编写了使用 AJAX 工具包的 SharePoint 中的 Web 部件,我的同事也是如此。一位同事对 Silverlight Web 部件非常活跃。
是的,您确实倾向于在 Windows Server 2003/2008 上进行开发。这不会打扰我,我根本不会花太多时间在安装和配置上。我有时会在开发环境中使用虚拟机,我同意这有时会很痛苦。
What I am able to do, however, is configure some things instead of develop. Authorization, done; provisioning, done; row-level security, done; basic UI CRUD, done; deployment to multiple front ends, done; search, done. Now I have time to focus on solving the business problem.
然而,我能够做的是配置一些东西而不是开发。授权,完成;配置,完成;行级安全,完成;基本的 UI CRUD,完成;部署到多个前端,完成;搜索,完成。现在我有时间专注于解决业务问题。
If you are going to do SharePoint development, you need to get started on the right foot. I highly recommend Inside Microsoft Windows SharePoint Server 3.0to get to the meat of what a developer can/should do within SharePoint.
如果您要进行 SharePoint 开发,则需要从正确的角度开始。我强烈推荐Inside Microsoft Windows SharePoint Server 3.0来深入了解开发人员可以/应该在 SharePoint 中做什么。
For what it's worth, I've been a developer for over 20 years working on Unix and Windows in several different languages and technology. I've been focusing on SharePoint v3 since it's beta days and am happy with the direction I have chosen.
值得一提的是,我作为一名开发人员已经有 20 多年的时间,使用多种不同的语言和技术在 Unix 和 Windows 上工作。自测试版以来,我一直专注于 SharePoint v3,并且对我选择的方向感到满意。
回答by Reed Copsey
It's a (good?) way to pay the bills....
这是一种(好?)支付账单的方式......
回答by Mark Sherretta
SharePoint can be frustrating at times. It's a "maturing product" according to Microsoft, so when you do something wrong, you get nice errors like "an error occurred" or "cannot complete action". CAML is something that requires great patience. The documentation on it is not very good and you can waste a great deal of time over a stupid syntax error.
SharePoint 有时会令人沮丧。根据微软的说法,这是一个“成熟的产品”,所以当你做错了什么时,你会得到很好的错误,比如“发生了错误”或“无法完成操作”。CAML 是需要极大耐心的东西。它的文档不是很好,您可能会因为愚蠢的语法错误而浪费大量时间。
All in all, it's a decent platform, but it will probably cause you to get gray hair sooner than your peers.
总而言之,这是一个不错的平台,但它可能会导致您比同龄人更快地白发。
回答by Eric
SharePoint is a v2 product...v3 is due in 2010, and it's the fastest growing product in MS's history (supposedly). v2 is short of mature, and it definitely leaves something to be desired for those of us who develop, but there's a lot of tools out there that make developing against it easier (stsdev, being one).
SharePoint 是 v2 产品...v3 将于 2010 年推出,它是 MS 历史上增长最快的产品(据说)。v2 还不够成熟,对于我们这些开发人员来说,它肯定有一些不足之处,但是有很多工具可以让开发变得更容易(stsdev,就是其中之一)。
It's something that you'll be seeing more and more of if you stay in the Windows realm. It's a powerful platform and the future of it looks very promising.
如果您留在 Windows 领域,您将越来越多地看到这种情况。这是一个强大的平台,它的未来看起来非常有希望。
From a developer's perspective, it's a bit frustrating that they've thought about developing against it as sort of an afterthought, as most Windows-based applications are. The end user wins in priority, that's for sure.
从开发人员的角度来看,他们认为针对它进行开发是一种事后的想法,就像大多数基于 Windows 的应用程序一样,这有点令人沮丧。最终用户优先获胜,这是肯定的。
SharePoint work is challenging and rewarding, even without the development aspect of it. You're affecting the entire organization and actually helping businesses run better. The development aspect will frustrate you from time to time, but it all tends to even out.
即使没有开发方面的工作,SharePoint 工作也充满挑战和回报。您正在影响整个组织并实际上帮助企业更好地运营。开发方面会时不时地让您感到沮丧,但这一切都趋于平衡。
回答by Tom Clarkson
It varies a lot depending on the way the project is run - if you work within the design of SharePoint you can achieve a lot without much effort. If you get requirements that go against that and the client isn't willing to compromise, it can get pretty frustrating.
它因项目运行方式的不同而有很大差异 - 如果您在 SharePoint 的设计范围内工作,您可以毫不费力地实现很多目标。如果您的要求与此背道而驰,而客户又不愿意妥协,那可能会非常令人沮丧。
You also tend to get a lot of environments that haven't been set up right - even things as basic as source control and reproducible deployment are often left out. The infrastructure people often don't understand SharePoint, so you get issues like not being able to connect your development environment to a network.
您还倾向于获得许多尚未正确设置的环境 - 即使是像源代码控制和可重复部署这样基本的东西也经常被遗漏。基础架构人员通常不了解 SharePoint,因此您会遇到诸如无法将开发环境连接到网络等问题。
However, most of these issues are quite easily solved if there is someone involved who knows what they are doing. Once you get past any project and environment issues it's quite a good platform to work with.
但是,如果有人知道他们在做什么,那么这些问题中的大多数都很容易解决。一旦你解决了任何项目和环境问题,它就是一个很好的工作平台。
The official documentation isn't particularly helpful, but the available unofficial documentation and tools have improved a huge amount since I started working with the platform.
官方文档并不是特别有用,但是自从我开始使用该平台以来,可用的非官方文档和工具已经有了很大的改进。
回答by Scott Ferguson
If you have a background in web development, I think you might be frustrated at the lack of flexibility that Sharepoint offers developers. Being restricted to think in terms of "web parts", isn't a lot of fun if you've previously had the flexibility to write a little closer to the HTML.
如果您有 Web 开发背景,我认为您可能会对 Sharepoint 为开发人员提供的缺乏灵活性感到沮丧。如果您以前可以灵活地编写更接近 HTML 的内容,那么被限制在“Web 部件”方面的思考并不是很有趣。
In addition, I found that a lot of time was spent on configuration / implementation issues, relative to regular web development.
此外,我发现相对于常规 Web 开发而言,大量时间花在了配置/实现问题上。
You do get a reasonable amount of functionality "out of the box" though.
不过,您确实获得了“开箱即用”的合理数量的功能。
回答by tsimon
I'm surprised at all of the positive responses. Let me just ask, do you mind creating your markup in code? As in HtmlWriter.BeginTag("br") (or whatever, sorry for not knowing the HtmlWriter api). That's considered best practices for creating redistributable web parts.
我对所有积极的回应感到惊讶。让我问一下,你介意在代码中创建你的标记吗?就像在 HtmlWriter.BeginTag("br") (或其他什么,抱歉不知道 HtmlWriter api)。这被认为是创建可再分发 Web 部件的最佳实践。
How about the Ajax Toolkit? Oops, off limits. Doesn't work due to a missing doc-type in the header.
Ajax 工具包怎么样?糟糕,禁区。由于标题中缺少文档类型而不起作用。
And your laptop is running Windows server 2003, right? Because of course Sharepoint won't run on anything else.
您的笔记本电脑运行的是 Windows Server 2003,对吗?因为当然 Sharepoint 不会在其他任何东西上运行。
I understand people defending their platform, but as someone who has had to do some work in Sharepoint, but doesn't any more ... let me say that developing for Sharepoint is the worst development experience of my life. Now, I've been pretty careful in my choices to date, so it's not the worst possible experience, but it's down there. Or, to put it another way, I would much prefer working in PHP than Sharepoint.
我理解人们捍卫他们的平台,但作为一个不得不在 Sharepoint 上做一些工作的人,但不再......让我说为 Sharepoint 开发是我一生中最糟糕的开发体验。现在,我迄今为止的选择一直非常谨慎,所以这不是最糟糕的体验,但它就在那里。或者,换句话说,我更喜欢在 PHP 中工作而不是 Sharepoint。
回答by Adam McKee
It's simultaneously the most frustrating and the most rewarding experience you'll have. While the reward comes (at least partially) in the form of a great salary (compared to straight web dev), the frustrations are nothing that can't be overcome with stackoverflow and google at your side.
它同时是您将拥有的最令人沮丧和最有价值的体验。虽然奖励(至少部分)以高薪的形式出现(与直接的网络开发人员相比),但使用 stackoverflow 和谷歌在你身边,挫折是无法克服的。
I've been doing SharePoint development since 2003, and the valleys of "I FREAKING HATE SHAREPOINT!" are always off-set by the moments of "DUDE, THAT'S FREAKING AWESOME!"
自 2003 年以来,我一直在进行 SharePoint 开发,以及“我非常讨厌 SHAREPOINT!”的低谷。总是被“伙计,这真是太棒了!”的时刻所抵消。
If you are offered an entry-level position doing SharePoint, I'd take it in a heartbeat. You'll get on-the-job training on one of the hottest technologies around.
如果为您提供了一个从事 SharePoint 的入门级职位,我会立即接受。您将获得有关最热门技术之一的在职培训。
回答by Herb Caudill
My small web shop briefly embraced SharePoint a couple of years back; we did consulting, customization, training, and so on. It's true that you get a lot out the box, and I understand it's improved a lot; but the overall experience was very negative and we've never looked back.
几年前,我的小型网上商店短暂地接受了 SharePoint;我们做过咨询、定制、培训等等。确实,你得到了很多开箱即用的东西,而且我知道它已经改进了很多;但整体体验非常消极,我们从未回头。
- The users that we trained on it absolutely hated the user interface and it was very frustrating not to be able to fix the things that are wrong with it.
- Customizing Sharepoint's visual presentation is not for the faint of heart. The incompetence of whoever wrote the CSS at Microsoft is just horrifying. I still have nightmares.
- For whatever reason they didn't just design it as a garden-variety web app, which makes setting up a development environment a huge pain in the neck.
- 我们培训的用户非常讨厌用户界面,无法修复它的错误是非常令人沮丧的。
- 自定义 Sharepoint 的视觉呈现不适合胆小的人。在 Microsoft 编写 CSS 的人的无能令人震惊。我仍然做噩梦。
- 无论出于何种原因,他们不只是将其设计为一个花园式的 Web 应用程序,这使得设置开发环境成为一项巨大的痛苦。
In general, SharePoint falls short of its promise in a number of ways that are just mystifying: Things that would seem like no-brainers require all kinds of custom development.
一般而言,SharePoint 在许多令人困惑的方面未能兑现其承诺:看似简单的事情需要各种自定义开发。
We've gone back to rolling our own solutions for customers; they're much happier with that arrangement, and so are we.
我们已经回过头来为客户推出我们自己的解决方案;他们对这种安排更满意,我们也是。
回答by Chris Tybur
I knew nothing about SharePoint 3 months ago. Since then I've had to create a couple of custom web parts for my company's new support site and I have to agree with your friend, it's a big mess.
3 个月前,我对 SharePoint 一无所知。从那时起,我不得不为我公司的新支持站点创建几个自定义 Web 部件,我不得不同意你朋友的看法,这真是一团糟。
At first I was impressed by how much you could do with the platform without any coding at all. But it's been frustrating getting my stuff to work properly. I tried to incorporate a user control I had written earlier that worked great in a regular web app, but a key part simply wouldn't work in SharePoint for reasons that are still beyond me. I managed to find a workaround, but lost two weeks in the process.
起初,我对您可以在不进行任何编码的情况下使用该平台做的事情印象深刻。但是让我的东西正常工作令人沮丧。我尝试合并我之前编写的用户控件,该控件在常规 Web 应用程序中运行良好,但由于我仍然无法理解的原因,关键部分在 SharePoint 中根本无法运行。我设法找到了解决方法,但在此过程中损失了两周。
It was also disheartening to learn that the development environment has to be a machine actually running SharePoint, which has to run under Windows 2003/2008. I had to set up a virtual machine on my existing system, which isn't a big deal but it's one more hurdle you have to overcome.
同样令人沮丧的是,开发环境必须是一台实际运行 SharePoint 的机器,它必须在 Windows 2003/2008 下运行。我必须在现有系统上设置虚拟机,这没什么大不了的,但这是您必须克服的另一个障碍。
In all, it seemed way too confusing for what you're trying to do. I agree with the sentiment that a lot of time is spent on installation, configuration, and deployment versus actual development. Maybe the 2010 version will be better. It's certainly not a product I would look forward to working with.
总而言之,对于您想要做的事情来说,这似乎太令人困惑了。我同意将大量时间花在安装、配置和部署上而不是实际开发上的观点。也许2010版本会更好。这当然不是我期待使用的产品。