Sunday, September 26, 2010

Winners of the Developer.com Product of the Year 2009


ShareThis
Technology

Winner: RIAs (Rich Internet Applications)

  • Agile Development
  • AOP (Aspect-Oriented Programming)
  • Cloud Computing
  • SOA (Service-Oriented Architecture)
  • Social Networking
Framework

Winner: Spring Framework and the Hibernate Framework When Integrated Together

  • Apache Wicket Framework
  • Merb 1.0 Framework
  • Microsoft® .Net Framework 3.5
  • Rails Framework
Development Tool

Winner: NetBeans Platform

  • ComponentOne® Studio® Enterprise
  • Eclipse Platform
  • Visual Studio® 2008
  • VMware Workstation 6.5
Development Utilities

Winner: NetBeans Profiler

  • ANTS Profiler v3™
  • JUnit
  • Visual Assist X
  • VisualVM
Web Service

Winner: REST (Representational State Transfer)

  • Amazon Web Services
  • Force.com™
  • Microsoft® Live™.com Services
  • zembly
Wireless/Mobile

Winner: NetBeans Mobility Pack for Connected Device Configuration (CDC) 5.5

  • Android
  • iPhone SDK
  • Visual Studio® 2008
  • Sybase PocketBuilder™
Database Tool

Winner: MySQL™ workbench

  • Altova DatabaseSpy® 2008
  • LINQ (Microsoft® .NET Language Integrated Query)
  • SQL Server® 2008 Reporting Services
  • Oracle SQL Developer
Java Tool

Winner: NetBeans IDE

  • Eclipse SQL Explorer
  • Glassfish Application Server
  • Hudson
  • javacc™
JSR

Winner: JSR 220: Enterprise JavaBeans™ 3.0

  • JSR 241: The Groovy Programming Language
  • JSR 249: Mobile Service Architecture 2
  • JSR 286: Portlet Specification 2.0
  • JSR-296: Swing Application Framework
.NET Tool

Winner: Mono 2.0

  • Altova® XMLSpy®
  • Microsoft® Windows Communication Foundation (WCF)
  • Microsoft® Windows Presentation Foundation (WPF)
  • NAnt
Open Source

Winner: NetBeans

  • Android
  • Drupal CMS
  • Eclipse
  • Merb 1.0 Framework
  • Mono 2.0
Security

Winner: OpenSSO Enterprise

  • AppArmor ("Application Armor")
  • Crowd
  • Metasploit
  • Untangle Gateway

Saturday, September 25, 2010

Overview of JQuery


ShareThis

jq

The idea behind jQuery is to simplify the task of getting a selected subset of DOM elements to work with. In other words, the jQuery library is mostly intended to run queries over the page DOM and execute operations over returned items. But the query engine behind the library goes far beyond the simple search capabilities of, say, document.getElementById (and related functions) that you find natively in the DOM. The query capabilities of jQuery use the powerful CSS syntax which gives you a surprising level of expressivity. For example, you can select all elements that share a given CSS class, have a given combination of attribute values, appear in a fixed relative position in the DOM tree, and are in particular relationship with other elements. More importantly, you can add filter conditions and chain all queries together to be applied sequentially.

The root of the jQuery library is the function defined as follows:

var jQuery = window.jQuery = window.$ = function( selector, context ) 
{
return new jQuery.fn.init( selector, context );
};


Nearly any jQuery script is characterized by one or more calls to the $ function -- an alias for the root jQuery function. Any line of jQuery code is essentially a query with some optional action applied to the results.

When you specify a query, you call the root function and pass it a selector plus an optional context. The selector indicates the query expression; the context indicates the portion of the DOM where to run the query. If no context is specified, the jQuery function looks for DOM elements within the entire page DOM. The jQuery root object performs some work on the provided arguments, runs the query, and then returns a new jQuery object that contains the results. The newly created jQuery object can, in turn, be further queried, or filtered, in a new statement as well as in chain of statements; for example:

$("div.Tooltip")


The call selects all DIV tags with a CSS class attribute of Tooltip. Written that way, however, the code has no significant effect. The$ function selects one or more DOM elements and that's all of it. It just returns a new jQuery object that contains the DOM elements. The resulting set is known as the "wrapped set". You can grab the size of this set by calling the size method, as shown below:

alert($("div.Tooltip").size());


Any function you invoke on the wrapped set is called for each element in the set. For example, consider the following code:

$("div.Tooltip:hidden").fadeIn(500);


The query selects all DIV elements currently hidden where the class attribute equals Tooltip. Each of these hidden DIV elements is then displayed using a fade-in algorithm that takes half a second to complete.

You can also loop over each element in the wrapped set using the each function:

$("div.Tooltip:hidden").each(
function() {
this.fadeIn(500);
}
);


The each function gets a JavaScript callback function and plays that function for each element. The difference between the function each and a manual JavaScript loop lies in the fact that the function each automatically maps the this object (as in the snippet) to the element in the collection being processed. The callback function, however, also receives an integer parameter being the 0-based index of the iteration. If you are interested in using this piece of information, you just add a parameter to the definition of the callback passed to each.

$("div.Tooltip:hidden").each(
function(index) {
:
}
);


As you can see, most of the time by simply calling the function directly on the wrapped set you obtain the same effect as writing the loop yourself. The each function is reserved for special situations where you need to employ some application-specific logic to determine the action to take.

An extract from this article from Dr. Dobbs Journal.

Friday, September 10, 2010

What if you could use .NET on really small devices?


ShareThis

The .NET Micro Framework is .NET for small and resource constrained devices. It offers a complete and innovative development and execution environment that brings the productivity of modern computing tools to this class of devices.

.NET Micro Framework is an open source platform that expands the power and versatility of .NET to the world of small embedded applications. Desktop programmers can harness their existing .NET knowledge base to bring complex embedded concepts to market on time (and under budget). Embedded Developers can tap into the massive productivity gains that have been seen on the Desktop.

 

dotnet 1.5 million devices
are currently running on
the .NET Micro Framework.

 

 

.NET Micro Framework Devices

The typical .NET Micro-Framework device has a 32 bit processor with or without a memory management unit (MMU) and could have as little as 64K of random-access memory (RAM).  The .NET Micro Framework supports rich user experience and deep connectivity with other devices.

Such devices include: consumer devices, consumer medical, home automation, industrial automation, automotive, sideshow devices / PC peripherals.

For more on what the.NET Micro Framework is, please go to www.microsoft.com/netmf.

Learn more about .Net Micro F/W here:

http://www.microsoft.com/netmf/default.mspx
http://www.netmf.com/Home.aspx

Thursday, September 9, 2010

Web Farm Framework to Provision and Scale a Web Farm


ShareThis

The Microsoft Web Farm Framework is a free product we are shipping that enables you to easily provision and mange a farm of web servers.  It enables you to automate the installation and configuration of platform components across the server farm, and enables you to automatically synchronize and deploy ASP.NET applications across them. 

web farm

The Microsoft Web Farm Framework enables you to easily define a “Server Farm” that you can add any number of servers into.  Servers participating in the “Server Farm” will then be automatically updated, provisioned and managed by the Web Farm Framework. 

What this means is that you can install IIS (including modules like UrlRewrite, Media Services, etc), ASP.NET, and custom SSL certificates once on a primary server – and then the Web Farm Framework will automatically replicate and provision the exact same configuration across all of the other web servers in the farm (no manual or additional steps required). 

You can then create and configure an IIS Application Pool and a new Site and Application once on a primary server – and the Web Farm Framework will automatically replicate and provision the settings to all of the other web servers in the farm.  You can then copy/deploy an ASP.NET application once on the primary server – and the Web Farm Framework will automatically replicate and provision the changes to all of the web servers in the farm (no manual or additional steps required).

The Web Farm Framework eliminates the need to manually install/manage things across a cluster of machines.  It handles all of the provisioning and deployment for you in a completely automated way.

Read detailed description of Web Farm Framework on Scott Guthrie’s blog:
http://weblogs.asp.net/scottgu/archive/2010/09/08/introducing-the-microsoft-web-farm-framework.aspx

Download it from here:
http://www.iis.net/download/WebFarmFramework