Documente Academic
Documente Profesional
Documente Cultură
For developers the deep knowledge of ASP.NET is essential. If you already know it
or work for years with it you have everything to jump start into SharePoint
development. Apart from being forced to use SharePoint you may struggle with
the question whether it makes sense to use SharePoint as an application platform
or stay with the ASP.NET platform. Seeking what are the limitations of ASP.NET is
not feasible approach. It is powerful and still under heavy development by itself.
You can create amazingly powerful applications and using modern pattern like
Model-View-Controller (MVC) or Dynamic Data. Keeping this in mind you may
wonder what else SharePoint adds that makes it a better or at least alternative
choice.
You may have even heard of people struggle heavenly with SharePoint, moaning
that developing is a pain, too complex, with a way to step learning curve that
makes the development cycle error-prone and slow. Before start complaining
about the weak developer support and disadvantages it’s worth thinking of what
SharePoint is for end users.
SharePoint is a technology that let users create their own Web applications—
without knowing even a bit about classic Web site development. That sounds
crazy, as it was a work for experts to create even a simple page with some basic
functionality in the past. You have to deal with HTML, CSS, and JavaScript. Once a
database is coming into play a piece of relational thinking and languages such as
SQL are a requirement. And now everybody is able to create a site, knowing
nothing all about it? This is exactly right. Rather than seeking a developer users
just talk to the database admin and server administrator and start creating and
deploying sites. SharePoint provides several templates and features to modify
and customize almost everything, from simple layout to the data structure held in
lists. For the user, SharePoint acts like an application. Several tools accompany it,
such as Central Administration, SharePoint Designer, and the default site setting
dialogs. Empowering the power users, the innovation leaders, the fore thinkers in
a company is a key for company’s success. Demanding those people start coding
is nonsense and would block a lot otherwise helpful innovations.
Using SharePoint ordinary users can do lot things by themselves. Creating Web
sites, modifying the look and feel, add certain features, and enter data. All
without any developers involved so far. If a developer equipped with at least
basic SharePoint knowhow is available, some more customizing is possible. This
includes things such as adding a new menu item in site menus, adding code that
invokes some custom action, create workflows beyond the built-in three state
limit, and so on. Creating Web parts adds another level of deployable power
created by developers to end users.
Yet writing code for these situations isn’t particularly the focus here. Imagine that
you’re supposed to write a Web based application using ASP.NET, the IIS, and
SQL Server as you probably did so many times. You can also decide to choose
WSF and create your application there. As you know you still have ASP.NET , the
IIS, and SQL Server in your development portfolio. So why consider SharePoint as
a development platform?
For a management pitch a brief presentation starts quite often with a big picture.
For SharePoint it looks like this:
Fig 1
The figure shows what an application typically includes. Users interact with some
user interface, the behavior is controlled by some business logic, and data being
stored in some data store. On top this are some development tools to empower
developers. That includes you have to have three different roles: users,
administrators, and developers.
WSF can now be recognized as a platform that supports all these parties:
* Built-in way to work with data including the schemas by end users
* A basic user interface that is functional and easy to use, along with
sophisticated customization features
While the developer support is not SharePoint specific the other features are an
enhancement of the existing infrastructure. This is why you should consider
SharePoint as a development platform. But that’s not everything you benefit
from.
There is more available, though. SharePoint is not only a huge piece of software.
There is also an ecosystem of communities, information sources, consultant
companies, third party developers, forums, books, and much more that provide
support, help, trainings, and ideas. That’s sometimes more valuable than all the
help files, features, and patterns altogether. You can find people to communicate
with, meet to exchange ideas, or discuss issues you don’t know whether it’s an
issue yet. There is a developer community, conferences exclusively devoted to
SharePoint, MVPs, and authors you can hire. There are patterns and best
practices available from Microsoft to teach not only how to do but also how to do
it right. It’s right that there is a steep learning curve but any way that’s hard to
go seems much easier if you don’t walk alone.
Before you start coding you should understand what the pieces of the puzzle are.
* Content
* Communitiy
* Composites:
* Search
* Insights
* Sites
SharePoint has been recognized and widely accepted for its support of some sort
of applications. This is not limited to but especially these fields are: