Every great web developer starts with HTML. From there comes an array of tools that every developer can use to create great websites.The basics would be a text editor and an image editing software.
"Tuesday, October 26, 2010
Web Development Tips and Tools for Beginners (and Experts)
7 Best Open Source Projects for .NET Developers
Despite the considerable time and resources Microsoft and the .NET community have invested in open source initiatives in recent years, it’s surprising how often the two camps are treated as antithetical to one another.
Yet the reality is that reliance upon open source development tools within the Microsoft community is significant and growing. In this article we’ll shed some insight into this widespread practice, introducing seven open source solutions embraced by millions of .NET developers around the globe.
AJAX Control Toolkit
In a mere five years since the term AJAX was first coined, the practice of using a blend of JavaScript, XML, and asynchronous communications to enhance the user’s online experience has grown from one of novelty to necessity. Because Ajax-driven features have become so commonplace, it wasn’t long before developers were hard at work creating AJAX frameworks which would make certain functionality and controls such as calendars and client-side form validation readily available.
.NET developers have a particularly rich solution at their disposal in the ASP.NET AJAX Control Toolkit. Jointly developed by Microsoft and the developer community, the AJAX Control Toolkit offers dozens of powerful controls such as a starred rating widget, modal popup window, password strength validator, and a draggable panel.
Check out the project’s page on the ASP.NET website for a comprehensive list of control demos, in addition to dozens of tutorials which show you how to take advantage of the toolkit’s many features.
ASP.NET MVC
The MVC architecture plays a central role in the modern website development, with solutions such as Ruby on Rails and the Zend Framework using MVC as the fundamental basis for framework-driven development. Thanks to the ASP.NET MVC Framework, .NET developers also have a powerful open source framework solution at their disposal. Supporting MVC tier separation, test-driven development, and a series of best practices typically summarized as the “convention over configuration” paradigm, the ASP.NET MVC Framework offers .NET developers a powerful solution for building complex websites. Further, because it’s .NET-based, developers can continue taking advantage of other ASP.NET features such as data caching and forms authentication. You’ll also find a number of other projects created to further enhance the ASP.NET MVC Framework’s capabilities, including notably MvcContrib, which extends the ASP.NET MVC framework to include features such as UI helpers and model binders.
The ASP.NET MVC Framework website provides newcomers with an impressive array of learning resources, including a video-based tutorial series which guides viewers through the creation of a sample web application.
CruiseControl
The complex nature of today’s software has required the software development community to reconsider the development process, introducing practices which both reduce development time and increase quality. This reevaluation has led to numerous best practices which have become widespread within enterprise environments, notably test-driven development and continuous integration. The latter practice attempts to minimize the time and effort involved in integrating a complex project’s many pieces by regularly and rigorously integrating the project’s components throughout the entire development process. This allows the developers to detect and resolve integration issues quickly rather than allow the problem’s complexity to grow over time.
CruiseControl. Offering tools for automating the build process, browsing the build results, and producing build reports, CruiseControl has become such a popular continuous integration solution that a large extension ecosystem has emerged.
DotNetNuke
With businesses busy migrating all aspects of their operations online, the need for powerful web-based content management tools stretches far beyond those used to update a website’s marketing copy. Indeed, today’s website is often a conduit for not only selling a business’ products and services, but also managing sales leads and other contacts, maintaining documentation, and serving multimedia such as pictures and video. The most effective way to manage and organize these myriad types of content is through a centralized content management tool. One of the most popular such solutions is DotNetNuke, a powerful .NET-driven content management platform used by hundreds of thousands of small businesses and Fortune 500 corporations alike around the globe.
Mono
The 2002 release of .NET Framework 1.0 represented a watershed in the history of software development, as among other features it provided developers with the ability to create applications using any language which supported the .NET Common Language Runtime. Not surprisingly, Microsoft understandably targeted the Windows operating system as the sole platform for running .NET applications, leaving those running Linux or OS X in the dark. Yet because .NET was based on a series of published standards, a group of enterprising developers created the Mono project which brought .NET capabilities to non-Microsoft platforms.
Be sure to check ut the Mono project website for more information, in addition to links to developer resources such as Mono-specific tools for Microsoft Visual Studio.
NAnt
Even novice Java and .NET developers are well acquainted with the code and compile development cycle, a process which becomes increasingly time consuming and tedious as the project grows in size and complexity. Tired of dealing with a growing jumble of build difficulties, developer James Davidson created Ant, a build tool for Java projects which subsequently became the most diffuse build solution for the Java community. A subsequent tool named NAnt brings similar capabilities to the .NET community.
Using NAnt you can create build scripts which automate all aspects of your .NET project’s build process, ranging from executing tests to creating documentation. See this list for a complete breakdown of natively supported tasks.
NHibernate
Despite the ubiquitous use of relational databases within all sectors of software development, the relationship between developer and database is often a rocky one. The friction arises due to the difficulties involved in effectively transforming data passed between the application and database into formats supported by the respective components. Developers have gone to great lengths to create solutions which do much of the heavy transformative lifting for them, notably within object-relational mapping (ORM) frameworks such as Hibernate.
The NHibernate website offers an enormous number of useful resources which can help you get started using this powerful ORM solution, including a detailed manual.
Are you using a .NET open source project not listed here? Tell us about it in the comments!
"Monday, October 18, 2010
.NET Ruby Love
There is a good deal of Ruby envy among the more outspoken .NET developers. This post is an attempt to aggregate the many blog posts from .NET developers expressing their love of ruby.
Rob Conery
Why I Like Ruby, Part 2: Blocks
Contrasting Ruby and C# Using My College Friends
Scott Bellware
Justin Etheredge
Jeremy Miller
Silly thing I want from Ruby in C#
David Tchepak
Essence and ceremony, Ruby and C#
John V. Petersen
Davy Brion
Why you don’t need dependency injection in ruby
I don’t know how this blog is going to evolve
Michael Hall
I know there have been a lot more of these but this is what I could find quickly. If you have a good link that belongs on this list leave it in the comments.
"Wednesday, October 13, 2010
30 Auto Completion Scripts for Better User Experience
In this article I compiled a list of 30 Auto Completion Scripts to use in you projects.
"Thursday, October 7, 2010
Articles and Tutorials at Developer It Blogs
Developer
It Blogs provides a mashup of well
written and interesting software and web development learning
articles and tutorials. Topics and areas covered include C#,
C++, Java, AJAX, PHP, JavaScript, dotNET, jQuery, ASP .NET, iPhone,
Linux, Python, MySQL, SQL, Oracle, SQL Server, Eclipse, Android,
Windows, Ruby-on-Rails, CSS, XML,
Silverlight, Flash, Flex, Winforms. These documents are for
both beginner and more advanced developers.
Top 50 Articles at Developer IT:
- How
To Start Your Own Professional Blog with WordPress
- How
to get full query string parameters not UrlDecoded
- Fake
ISAPI Handler to serve static files with extention that are rewritted
by url rewriter
- Outlook
add email account: requested operation failed
- More than 100,000
articles !
- C#
development with Mono and MonoDevelop
- ASP.NET
MVC Html.DropDownListFor Select value
- Official BETA
release of Developer IT
- Lots
of first chance Microsoft.CSharp.RuntimeBinderExceptions thrown when
dealing with dynamics
- Good
SQL error handling in Strored Procedure
- Remove accents from
String .NET
- How
to obtain a random sub-datatable from another data table
- Getting
'Using two-stage rotation animation' warning with
UIImagePickerController
- The
binary you uploaded was invalid. A pre-release beta version of the SDK
was used to build the app
- Info on
UIDeviceFamily key in Info.plist
- Android
save Checkbox State in ListView with Cursor Adapter
- Data
Formatters temporarily unavailable
- ASP.Net
MVC 2 DropDownListFor in EditorTemplate
- The
provided URI scheme 'https' is invalid; expected 'http'. Parameter
name: via
- Core i7-620M vs Core
i5-540M
- How
to decrypt an encrypted Apple iTunes iPhone backup?
- Problem
with video playback on iPad with MPMoviePlayerViewController
- Android
- HorizontalScrollView within ScrollView Touch Handling
- ASP.NET MVC 2">RadioButtonFor in
ASP.NET MVC 2
- A
valid provisioning profile for this executable was not found
- 'Parse
Error : There is a problem parsing the package' while installing
Android application
- SSLException:
HelloRequest followed by an unexpected handshake message
- ipad
- UIActionSheet inside a UIPopOverController... popover not
dismissing...
- Android
- 'Resources don't contain package for resource number'
- iTextSharp
Creating a Footer Page # of #
- Open
DateTime picker C# control programatically
- Missing
Edit Option on Silverlight 4 DataForm
- iPhone
Simulator 3.x not listed after upgrading to XCode 3.2.3 Beta4 with OS
4.0
- Using
MPMoviePlayerViewController full screen in iPad app that's not fully
ported from iPad...yet.
- AVAudioRecorder
- Continue recording to file after user stops recording by leaving the
application a
- Android
1.6: 'android.view.WindowManager$BadTokenException: Unable to add
window -- token null is no
- Two-Stage Rotation
Warnings
- Problem
with bluetooth on android 2.1 (samsung spica i5700) where pairing works
but connection does
- Ext
JS Tab Panel - Dynamic Tabs - Tab Exists Not Working
- How
to clean the virus which opens Nuevaq.fm on IE and blocks many other
applications?
- android
View not attached to window manager...
- Border image on UIView
- Windows Can't
Find SepSysPlant.exe?
- Can't
dispatch DDM chunk 46454154: no handler defined - Eclipse - Android SDK
- Uncompiled
WCF on IIS7: The type could not be found
- iPad custom Keyboard GUI
- MVC2
EditorTemplate for DropDownList
- Should
one replace the usage addJSONData of jqGrid to the usage of
setGridParam(), and trigger('relo
- Mysterious
dbboon folder with proxy.php file on my godaddy account
- FB.ui
stream.publish in an iframe application shows a popup instead of an
iframe dialog
Popular Posts at Developer IT:
- How
To Start Your Own Professional Blog with WordPress
- How
to get full query string parameters not UrlDecoded
- Fake
ISAPI Handler to serve static files with extention that are rewritted
by url rewriter
- Outlook
add email account: requested operation failed
- More
than 100,000 articles !
- C#
development with Mono and MonoDevelop
- ASP.NET
MVC Html.DropDownListFor Select value
- Official
BETA release of Developer IT
- Lots
of first chance Microsoft.CSharp.RuntimeBinderExceptions thrown when
dealing with dynamics
- Good
SQL error handling in Strored Procedure
- Remove
accents from String .NET
- How
to obtain a random sub-datatable from another data table
- Getting
'Using two-stage rotation animation' warning with
UIImagePickerController
- The
binary you uploaded was invalid. A pre-release beta version of the SDK
was used to build the app
- Info
on UIDeviceFamily key in Info.plist
Monday, October 4, 2010
17 Distributed Systems and Web Scalability Resources
No long write-ups this week, just a short list of some great resources that I've found very inspirational and thought provoking. I've broken these resources up into two lists: Blogs and Presentations.
Blogs
The blogs listed below are ones that I subscribe to and are filled with some great posts about capacity planning, scalability problems and solutions, and distributed system information. Each blog is authored by exceptionally smart people and many of them have significant experience building production-level scalable systems.
Nati Shalom's Blog: Discussions about middleware and distributed technologies
http://natishalom.typepad.com/nati_shaloms_blog/
All Things Distributed: Werner Vogels' weblog on building scalable and robust distributed systems.
http://www.allthingsdistributed.com/
High Scalability: Building bigger, faster, more reliable websites
http://highscalability.com/
ProductionScale: Information Technology, Scalability, Technology Operations, and Cloud Computing
http://www.productionscale.com/
iamcal.com
http://www.iamcal.com/ (the "talks" section is particularly interesting)
Kitchen Soap: Thoughts on capacity planning and web operations
http://www.kitchensoap.com/
MySQL Performance Blog: Everything about MySQL Performance
http://www.mysqlperformanceblog.com/
Presentations
The presentations listed below are from the SlideShare site and are primarily the slides used to accompany scalability talks from around the world. Many of them outline the problems that various companies have encountered during their non-linear growth phases and how they've solved them by scaling their systems.
Scalable Internet Architectures
http://www.slideshare.net/shiflett/scalable-internet-architectures
How to build the Web
http://www.slideshare.net/simon/how-to-build-the-web
Netlog: What we learned about scalability & high availability
http://www.slideshare.net/folke/netlog-what-we-learned-about-scalability-high-availability-430211
Database Sharding at Netlog
http://www.slideshare.net/oemebamo/database-sharding-at-netlog-presentation
MySQL 2007 Techn At Digg V3
http://www.slideshare.net/epee/mysql-2007-tech-at-digg-v3
Flickr and PHP
http://www.slideshare.net/coolpics/flickr-44054
Scalable Web Architectures: Common Patterns and Approaches
http://www.slideshare.net/techdude/scalable-web-architectures-common-patterns-and-approaches
How to scale your web app
http://www.slideshare.net/Georgio_1999/how-to-scale-your-web-app
Google Cluster Innards
http://www.slideshare.net/ultradvorka/google-cluster-innards
Sharding Architectures
http://www.slideshare.net/guest0e6d5e/sharding-architectures
If anyone knows of some that I've missed (I'm sure there are many), please list them in the comments and I'll add them to the lists above.