Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
How much of ASP.NET or C# is required for Sharepoint development? Do you need experience with things like developing N layered web applications, design patterns, test driven development, strong SQL background etc?
I hear that Sharepoint development is different from enterprise applications thats typically built with technologies like ASP.NET.
If I know my basics in .NET, C# and have some experience with ASP.NET and have good understanding of things like Page lifecycle in webforms, web parts, Master pages etc, then am I ready for Sharepoint?
Also, is Infopath very heavily used in Sharepoint development?
If you already know ASP.NET than you are ready for SharePoint development. Get familiar with its SDK and other development concepts. SharePoint Dev Wiki might also be a good start.
A must have for new developers is to learn SharePoint from end user perspective. I am using this book to train the new guys. If you do not understand these concepts it might be hard to start coding.
It really depends on what you are wanting to achive, there are more than a few ways to develop something for SharePoint each requires different skills.
for example :
SharePoint exposes a number of webservices which you can use to complete a number of tasks.
A step up from that Sharepoint has a number of DLL's you can reference directly in order to access a more granular level of detail, but is more fiddly to work with.
Neither of these require any knowledge of ASP.NET but both work with sharepoint.
If you are planning on making a WebPart then yes ASP.NET knowlege is a big plus.
If you want to work with the Sharepoint workflows then you need knowlege of WF.
There is no one fit for developing sharepoint, which quite frankly makes it hard to hire people for it.
I guess it really depends on what you mean by SharePoint development. In my humble opinion you must learn what SharePoint provides out of the box in order not to reinvent the wheel all over again.
The object model, web services and how to deploy your work using solutions is something you have to pick up very quickly in order to be a good SharePoint developer.
As I am more of a consultant type when a developer I can't say whether you should know SQL and AD but I guess it won't hurt a bit.
If you are fluent in C# it might also be a good idea to have a closer look at PowerShell as it sure looks like Microsoft will integrate PowerShell in all server products including SharePoint 2010.
I don't think it's much different, really. I've been learning both at the same time to some success. Of course, ASP.NET and SharePoint are just different things, but SharePoint is built on ASP.NET, so to the extent you understand ASP.NET, you also understand SharePoint.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am in the process of architecting an application. It will be a large, enterprise class web application. Thousands of users could upload files, search large number of blog entries with chat functionality and such. It will also have mobile interface. It should be highly testable, scalable and flexible.
I have narrowed it down to three environments: pure play ASP.NET, pure play DotNetNuke (DNN) and a combination of ASP.NET and DNN. To keep this very brief, here are some 'for' and 'against' on each of the options:
ASP.NET:
for: highly scalable, supports patterns like MVC, testable, consistent architecture.
against: long development time.
DotNetNuke:
for: short development time, large number of existing functional modules and skins.
against: architecture is sealed, can't support MVC, unit testing is difficult, inconsistent modules/skins, potential upgrade issues, user experience is inconsistent due to disparate modules from different vendors, poor documentation.
So, the questions are: what do you think? Has anyone switched from DNN to ASP.NET (and, vice versa)? Have you objectively evaluated these two and what did you choose?
Highly appreciate your help. Thanks.
henry.
DNN is ASP.NET, just with a lot of the work done for you.
Also, please remember that just because raw ASP.NET has the potential to be more scalable, doesn't mean that you are actually going to built it to be more scalable. Or that you will built it well in the first place.
It comes down to a trade off between control and resouces/talent. If you have many very talented developers (like, top-10% talent), a lot of time, clearly defined requirements for your site, and consumers who will be patient while you build out the infrastruture, by all means go with raw ASP.NET.
However, if you need to build it quickly and need to be flexible, or you have limited development resources, you might have to sacrifice some of that control and unit testing and potential performance (again, the "potential" part is key here).
Based on what you are looking for, I'd recommend you go with a platform like DNN, or a million other ones line SiteFinity or Umbraco or Orchard or something like that (some of them like Umbraco give you MVC too). It gives you a lot of the infrastructure and plumbing common among a lot of sites, probably done better than you are going to do it, so that you can focus your resources on the truly unique aspects of your application.
Just stay away from SharePoint. It's evil.
I've built raw ASP.NET sites for really customized applications, which was good because I didn't need a lot of plumbing and wanted really unique funcitonality through the site. But then I've built social networking sites with DNN, which worked well because it had packaged components for blogs and forums and chat and all that stuff, plus allowed for easy skinning. I designed another application for a customer that they wanted to have a lot of custom functionality, but they also wanted to updated a lot of content and internatalized it, so we used a Umbraco for that. And right now I have a ASP.NET app that works great, but I want to add in some social features, so I'm going plug in a Umbraco or DNN site that integrates with it to host the more common social components.
I would definitely recommend DNN based on your very limited list of needed features. You can always build a custom module to meet your exact needs or modify an existing open source module as needed. You can use the MVP approach in your module development to improve the testability.
Have you considered the Umbraco CMS? It is built on .Net (v5 is MVC3). It is open source and a very robust and well supported application. It has been used for the asp.net site for example.
It has a very short development time, many modules, extremely flexible and I find it very easy to extend. For example, I rolled my own workflow, event driven publishing and have created multiple custom administration sections for managing bespoke functionality external to Umbraco.
You can use XSLT, Usercontrols or Razor to create template modules.
It has a fantastic community too.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have worked with window based application in .net. But I want to learn asp.net. So I want to develop one website such that developing that website I can get best and better knowledge of asp.net. And developing that website all most important concepts and controls are covered in that website. And in that website all the concept should be covered which are used in the website which are developed in today's time. So what should the website which I can develop to learn asp.net best and after developing that website I can have better knowledge of asp.net ? I have never develop a website. And which are the features that should be there in that website ? And that features are normally seen in today's website.And what are the books which I should refer ?
Update: Which are the other technologies I should also learn like javascript,css to develop better website of this time?
Make sure first which flavor of ASP.NET you want to learn:
ASP.NET webforms
ASP.NET Dynamic data
ASP.NET MVC
There are for the above mentioned technologies great tutorials which let you make up a complete site and in the mean time learn a ton from it to be found here http://www.asp.net/web-forms/fundamentals and Nerddinner.
Update: I forgot to mention the Music store sample.
Grz, Kris.
One possibility would be to pick a fairly simple database that you know well (such as Northwind or pubs) and make a web site for displaying and updating its data. This will get you familiar with data display controls such as GridView and DetailsView, and with ASP.NET databinding. You'll get to play with events and with the ASP.NET page life cycle. When you create a data entry form, you can learn ASP.NET's validators.
Once you've done that, you'll have a good foundation in ASP.NET. Most important, have fun!
Build your own blog.
Create a website that geeks from all over the world can use to meet for lunch. You could call it GeekLunch.com ;-)
I'd second XIII's answer on learning to distinguish between webforms and MVC, but if you're starting from scratch, it would be helpful to know the basics of both, to better decide which you like.
I prefer getting a big application and then reverse engineering, some prefer starting from scratch.
You already have Nerddinner for a sample MVC app.
Here are some sample webform apps:
http://forums.asp.net/default.aspx/2
They're a little dated, but the fundamentals are there.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
This may be an opinion based question, but it's something that I wanted to ask (even if it does end up getting closed or deleted).
I do custom app dev (asp.net/aspMVC) and have absolutely no knowledge about sharepoint and was wondering:
If you have a "rock solid" custom app dev, asp.net/aspMVC web developer can he jump into sharepoint development fairly easily? What about the other way around? Does a seasoned sharepoint developer have the "chops" to do custom app dev using asp.net/aspMVC?
By no means do I want to offend any sharepoint developers or any custom app dev developers. I'm merely trying to see how much knowledge you can take with you when going from one type of development to another.
I recently put a very strong .NET guy from my team through the SharePoint learning process and let me tell you, it’s no small task. The issue is not so much familiarity with the SharePoint object model or product architecture (he was quite familiar with the latter), it’s more about understanding the “SharePoint way” of doing things.
Let me expand a little; the main thing is the concept of working locally on a host system goes out the window so you need to work on either a VPC (which you may need to build from ground up) or a server which also has the appropriate development tools installed. Some people even run a Windows server product directly on their host machine but you’d want to pretty dedicated when this also involves running SQL Server and SharePoint on your PC.
The next thing is it’s not simply a matter of opening up a SharePoint site and writing code against it, it’s more a matter of building individual webparts and features which can then be deployed. This also involves some very obscure configuring of XML files which if done incorrectly, can have a very negative impact on the entire environment (i.e. things just stop working). Finally, the deployment process is completely different. There is no simple “publish” option like you’d have with a normal ASP.NET environment rather there is a convoluted process of deployment and activation.
SharePoint does a lot of things really well but when it comes to writing custom applications it has an uncanny knack of making things that are normally very simple extremely complex. You reach a lot of crossroads where it’s either the SharePoint way or the highway and if you’re not aware of these upfront you run a serious risk of the effort required blowing out significantly. Don’t get me wrong, it’s a great product, I’m just saying don’t approach it with the attitude of “it’s just .NET development” and expect things to go smoothly.
IMHO, this is a very large jump for a .NET developer and shouldn’t be approached unless you’re serious about moving into SharePoint development. I’m quite explicit in my environment now that unless someone has real world experience developing for SharePoint they should not be jumping in and “learning on the job”; the risk is just too high.
BTW, there is a good question titled What are your biggest complaints about Sharepoint which you should read.
I know a (little) about SharePoint and to a large extent you can pretty much code in SharePoint if you are a .Net coder.
There are a (lot) of quirks you need to be familiar with though.
WebParts for one. These are
available in WebForms but they take
on new meaning in SP.
How and Where the pages are stored.
SP, if you make a change to a
standard page, stores the changed
page in a database and references it
from there so if you go looking at
your file system for your file,
you'll find it but it'll be the wrong
one.
I think the page life cycle may be
slightly different but don't quote me
on that.
That's just to name a few.
To sum up though I don't think you can just dive in and begin coding. I think your best option is to either get a SP developer to teach you or to do a course.
I did an SP course and to be honest I still don't think I could just dive right in and get it right.
SP punishes you harshly when you don't do things the SP way.
I am in this position and getting into MOSS (am certified for configuration) but it is not easy to understand as there are new concepts when developing for MOSS (eg webpart production). BUT it is just a new process and a lot to understand about MOSS and how it works.
My limitation is not doing enough of Sharepoint 2007 at work so obviously I am going to be lagging behind in webpart creation, etc. But this is why I am going to install the software at home.
On the other hand, Sharepoint development is C# and ASP.NET, so in the codebehind/presentation, you have a solid base.
If you code Sharepoint, I think Winforms is easier so you can switch to that ok. ASP.NET and Sharepoint 2007 share A LOT of concepts as Sharepoint is pretty much a very advanced ASP.NET web application so you can go from MOSS to ASP.NET.
I develop Sharepoint applications since 2002 and ran successfully dozens projects based on it, ranging from .
Starting with WSS 3.0/MOSS 2007 most Sharepoint specific technologies (aka webparts) was incorporated into .net; so, application development changed a lot: you don't need to eat SPWeb on breakfast, but being a regular ASP.NET developer and having a pragmatic approach to learn about content management it's enough.
Bottom line: Sharepoint development isn't rocket science; don't be afraid, get a VS2005/8, a VPC and happy coding!
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
A friend of mine's company is considering using either Java or ASP.NET for web development. Currently they do all development in Delphi. As they have no experience in .NET they have asked me to come down and give a 1 hour overview of .NET (mainly ASP.NET). What topics should I cover?
I was hired by a Delphi product company as a senior .NET developer with the goal of moving their applications from Delphi client server/desktop apps to web based ASP.NET.
I no longer work there but remain friends with an experienced Delphi programmer who is still there.
The biggest concern you have is ensuring that these Delphi programmers start to get their heads around the fundamental shift from desktop client server apps (very common using Delphi) to web based stateless, cross browser UI ASP.NET.
My friend from the previous company has said that the company is still struggling along with minimal .NET progress after 2 years. Technologies such as XML, Javascript, AJax and even fundamentals such as the .NET CLR and assemblies are still a bit of a mystery to the team.
In summary, if I was you I would be focusing entirely on bigger concepts such as the stateless nature of the web and how ASP.NET can solve it, and the benefits and drawbacks of thin client software (ie ease of deployment, browser incompatibilies, less rich user interfaces etc.)
Other than the other suggestions you are no doubt going to get, I'd explain to them that there is a Delphi for .NET which would ease the pain of change a little. So basically they are using Delphi as the language but the underpinnings of .NET.
You might want to talk to your regional developer evangelist. I'm sure they have a stack of bullet points for instances just like this.
You can find your local evangelist(s) at: http://msdn.microsoft.com/en-us/bb905078.aspx
There is so much to cover!
ASP.Net is better for Web Development though, It is designed for it. Take into account the following features:
Membership Provider
ASP.Net controls
The Whole Page and Code-Behind
system and don't forget ASP.Net MVC
ASP.Net Ajax and support for jQuery
ASP.Net peforms well generally, not
sure about Java though
Use .Net Librarys and languages, C#
or VB.Net and so on.
Many Many more
I would cover those, the way ASP.Net is designed as a much more complete package for web development than Java is. I also think the connection between pages and code is better in ASP.Net than using PHP/Java or how ever they would do it.
Can also switch to Winforms or other MS technologies relatively easily.
If they do want to explore C# the transition is pretty easy. Just remind them that Anders Hejlsberg was the Chief Architect of Delphi and C#.
http://en.wikipedia.org/wiki/Anders_Hejlsberg
I was a VB.net guy, but I took a one year Delphi gig a few years back. When I came back to .Net I was using C# and the transition was very easy.
Not sure if you're planning to give more of an architectural view or a more of hands-on experience (say, build a demo Hello World ASP.NET site), but anyway, here are some topics that might get them interested:
.NET covers many languages (C#, VB.NET, IronPython, IronRuby, Delphi.NET), even on the same solution; that means the developers can reuse some of their previous knowledge;
To support the item above, an overview of the CLR, IL etc might be useful, maybe comparing it a bit with how Java works
Visual Studio.NET is a great IDE, and there are lots of tools for it that support the latest best practices (TDD, IoC etc), including OSS
Could be also nice to mention Mono (maybe show them the same app running on Windows, MAc and Linux?) and ASP.NET MVC, in case your teammates have some knowledge of what MVC, RoR are about
I will think some more... :)
First off I'd give them a tour of creating a simple web app using Visual Studio and whatever the equivalent would be in Java. Seeing it done speaks a lot more than just giving the theory.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I would like to know your experience with ASP.NET webparts as a reusable component in your website.
How useful did you find it? Did you find any serious issues with it? Would you recommend it using in any asp.net project?
Any best practices or tips you would like to highlight with respect to this.
Would you recommend using webparts as part of the asp.net portal design or would our center your design around our good old UserControl as the foundation.
This input would help me make my decision for an asp.net application that I am developing.
In case you require more clarification please do leave comments.
Advantages of WebParts over UserControls:
Support for user editable properties and personalization built in
Customizable Editor Parts
Customizable standard WebPart menus
Drag'n'Drop WebParts between WebPartZones
Support for connections between WebParts, useful for master/detail views, filters, and more
Can load UserControls
Disadvantages:
Higher Resource Usage
Visual Studio currently does not have designer support for WebParts
Like ocdecio mentioned, ASP.NET MVC would probably be a better choice nowadays, at least outside of the SharePoint world, where WebParts are very important.
EDIT:
For an overview of ASP.NET 2.0 WebParts, you may want to look at:
Using WebParts in ASP.Net 2.0 and
Personalize Your Portal with User Controls and Custom Web Parts
I personally wouldn't recommend WebParts for your application unless you are going to go full-blown into the webparts portal paradigm. I played around with them sparingly and it just doesn't feel like it would be as effective as designing your own pieces.
In my experience web parts are useful to create content for SharePoint. But now with ASP.NET MVC I'm not sure they will be a good choice for a standard ASP.NET application.
I agree with TheTXI...like a lot of ASP.NET technologies, you aren't really going to get much benefit from Web Parts unless you buy into the model 100%.
But aside from that, we had some technical issues as well, mainly related to cross-browser UI rendering problems. These might have been fixed in recent releases, I don't know: we ended up rolling our own solution.
ASP.NET MVC is getting so much traction. It is literally blow everything else out of the water. I would recommend look into that first. Sharepoint probably will incorporate MVC very soon.