GestaltJavaScript è senza dubbio il linguaggio di programmazione più comune per lo sviluppo client-side di siti web. Grazie a Gestalt, una libreria open source, sarà ora possibile utilizzare anche linguaggi dinamici come Ruby e Python (e persino XAML). Dietro le quinte Gestalt sfrutta il Dynamic Language Runtime (DLR) di Silverlight, IronRuby e IronPython (le implementazioni .NET di Ruby e Python).

E l’innovazione apportata dai MIX Online Labs non è limitata a Windows. La libreria può essere infatti usata anche su sistemi Linux/Mac OS X, grazie all’implementazione open source di Silverlight, chiamata Moonlight.

Per i più curiosi, questo è l’Hello, World! in Ruby:

<html>
<head>
  <script src="js/jquery.js" type="text/javascript"></script>
  <script src="js/gestalt.js" type="text/javascript"></script>
</head>
<body>

<input id="say_hello" type="button" value="Say, Hello!" />

<script language="ruby">
document.say_hello.onclick do |s,e|
  window.alert "Hello, World!"
end
</script>
</body>
</html>

E in Python:

<html>
<head>
  <script src="js/jquery.js" type="text/javascript"></script>
  <script src="js/gestalt.js" type="text/javascript"></script>
</head>
<body>

<button id="say_hello">Say, Hello!</button>

<script language="python">
def OnClick(s,e):
  document.say_hello.innerHTML = "Hello, World!"

document.say_hello.AttachEvent("onclick",
                   EventHandler[HtmlEventArgs](OnClick))
</script>
</body>
</html>

Non perdetevi anche la lista di esempi per vedere di cosa è capace questa libreria. Personalmente dubito che sostituirà JavaScript per la magigor parte degli sviluppatori, anche solo nel mondo .NET, ma apre certamente delle prospettive interessanti. Voi cosa ne pensate?

IronRuby è un’implementazione, ancora incompleta, di Ruby 1.8 per la piattaforma .NET. Il progetto si basa sul cosiddetto Dynamic Language Runtime (DLR), creato appositamente per agevolare lo sviluppo di linguaggi dinamici come Ruby e Python, nel contesto di .NET.

Durante l’evento ALT.NET Open Spaces in Seattle, John Lam, leader del team di sviluppo di IronRuby, ha aggiornato la comunità circa lo stato del progetto e aggiunto molti dettagli tecnici riguardanti l’architettura del DLR.

Per gli interessati che non hanno avuto modo di partecipare, è finalmente online il video della presentazione (in inglese).