2. Agenda
What costs a small company infrastructure?
What MS products are for free?
What is the alternative?
2
3. What costs a small company infrastructure?
• You need:
– Web servers
– DB servers
– Development environment including IDE licenses
– …
• Or you might want to host servers in the Cloud…
3
4. What costs a small company infrastructure?
• Windows Server 2008 R2
• SQL Server 2008 R2
• Visual Studio 2012
– Pro 700€ / Premium 2500€ / Ultimate 6000€
• TFS
• … and in the Cloud
4
5. What MS products are for free?
• Visual Studio Express
– Visual Studio Express 2012 for Web
– Visual Studio Express 2012 for Windows 8
– Visual Studio Express 2012 for Windows Desktop
• No Multi-unit testing framework and refactoring
support
• No static code analysis, profiling, …
• Different IDE's for different use!
5
6. What MS products are for free?
• Team Foundation Server Service: In the Cloud!
– No AD support
– Could be slow when dealing with too much files
– Not allowed to modify process/work item templates
– Limited reports and no custom reports
• Team Foundation Server Express
– Limited Agile Project Management features and tools
– No reporting/Sharepoint integration
6
7. What MS products are for free?
• SQL Server Express
– No SQL Profiler
– No SQL Server Agent
– No FullText search
– No SSIS / SSAS and only local SSRS
7
8. What MS products are for free?
Microsoft Express products are for free but…
you still need valid Windows licenses!
8
9. What is the alternative?
• Other OS
• Other Frameworks
• Other Web Servers
• Other DB
• Other IDE
But the most important still coding in C#! :-)
9
10. What is the alternative?
• Other OS
– Open SUSE (Novell)
– CentOS
– Debian
– Ubuntu,
– Create your own Mac (~30€) 10
11. What is the alternative?
• Other Frameworks
Mono!
Cross platform, open source .Net development
framework.
Started in 2001 just a few months after .Net framework
first release, by Miguel de Icaza.
Mono 1.0 was released in 2004, latest stable version is
2.10.8, latest Beta version is 3.0.10
Compatibility page
11
12. What is the alternative?
Microsoft had the good idea to release
their CLI as an open standard!
12
13. What is the alternative?
13
Base Class Library
.NET Compatibility Class Libraries
Mono specific class libraries(*)
Mono's Common Language
Runtime: transforms into native
code
Supports many processors / OS
(*) Including Gtk+, Zip files, LDAP, OpenGL, Cairo, POSIX, etc
14. What is the alternative?
• New frameworks based on Mono
14
Simple.Web
16. What is the alternative?
– To start with ServiceStack, go to Visual Studio and create
an new ASP .Net Web Application project
– Deploy ServiceStack Nuget package as follows (Package
Manager Console)
– Everything you’ll need to get started will be deployed
to your project, just press F5 and enjoy! 16
17. What is the alternative?
– To start with Nancy, go to Visual Studio and create an new ASP .Net
Web Application project (see previous slide)
– Deploy Nancy Nuget package as follows (Package Manager Console)
– Add a new Nancy module C# class
– Copy Paste this code in it
public class HelloModule : NancyModule
{
public HelloModule()
{
Get["/greet/{name}"] = x => { return string.Concat("Hello ", x.name); };
}
}
– Press F5 and type http://localhost:xxxx/greet/Toto
17
18. What is the alternative?
• To go further…
– ServiceStack
– NancyFx
– FubuMVC
– Simple.Web & here
18
19. What is the alternative?
• Other WebServers
– XSP: eXtensible Server Page
– Apache mod_mono
– Nginx
19
20. What is the alternative?
• Other DB
– MySQL
– PostgreSQL
– SQLite
20
21. What is the alternative?
• Other IDE
– SharpDevelop
– MonoDevelop / Xamarin Studio
21
22. What is the alternative?
• DEMO!
• For those who were not at the presentation, the
following slides describe the demo.
22
23. What is the alternative? - DEMO
• Open Visual Studio
• Open File -> New -> Project
• Target .Net Framework 3.5 and choose ASP.Net MVC 2 Web Application
23
24. What is the alternative? - DEMO
• Run it by pressing F5, just to see if everything is going ok…
24
25. What is the alternative? - DEMO
• Back in Visual Studio
• Right click on your project
• Select Open Folder in Windows Explorer
25
26. What is the alternative? - DEMO
• Copy the folder that contains the .sln
file of your project
• Paste it on the machine where
Xamarin is installed (on a MAC
OS Virtual Machine during this demo)
26
27. What is the alternative? - DEMO
• Open the sln file -> Xamarin should be launched
27
28. What is the alternative? - DEMO
• Execute it, it works!!
28