miércoles, 30 de marzo de 2011

BSoD Ahora es Black Screen of Death

Me encontré con la noticia en wpcentral.com de que Windows 8 adoptará muchos aspectos del Metro Design. En esto claro está incluido el BSoD que ahora no es Blue, sino, Black. A continuación un Screenshot:



A ver que otras sorpresas nos traerá Windows 8!!

domingo, 27 de marzo de 2011

Libros Recomendados para C#, VB, F#, VS IDE, y VS Extensibility

Revisando un poco twitter, un twitt de MSDN me llevó a este enlace:

http://blogs.msdn.com/b/lisa/archive/2011/03/26/visual-studio-2010-books-on-c-visual-basic-f-vs-ide-and-vs-extensibility.aspx

Ahí encontrarán una buena cantidad de libros en Amazon a buen precio, recomendados por msdn, y todos en sus ultimas versiones.

Espero les sea de utilidad!

jueves, 24 de marzo de 2011

Probando Script# – De C# a Javascript

Estos dïas me he conseguido con Script#, que según viene con tiempo, nunca había escuchado sobre la herramienta.

Script# Es una librería que compila código C# a Javascript. El cual funciona obviamente, entre todos los navegadores modernos. También hace que el mantenimiento de los scripts sean más mantenibles y escalables.

Lo primero que hacemos es ir a la página principal: http://projects.nikhilk.net/ScriptSharp y descargamos la última versión (0.6.3) para Visual Studio 2010. Ejecutamos el instalador y una vez finalizado el proceso abrimos Visual Studio.

Vemos que hay una nueva categoría de proyectos (Script#), y varios tipos nuevos (Class Library, jQuery Class Library, jQuery Web Application, Web Application, Sidebar Gadget y Unit Test). Seleccionaremos para esta prueba un proyecto de tipo jQuery Web Application y aceptamos.

Lo primero que notamos es que nos crea lo siguiente:

internal static class HomePage
{
    static HomePage()
    {
        jQuery.OnDocumentReady(delegate()
        {
            // Add script that runs once the document is ready for being
            // consumed by script.
        });
    }
}


Como podemos ver, Script# es una especie de DOM en C# para JS, pero bien integrado a VS, bien programado y con buena documentación.



Ahora a probar:



internal static class HomePage
{
    static HomePage()
    {
        jQuery.OnDocumentReady(delegate()
        {
            jQueryObject query = jQuery.Select(".mydiv");
            query.FadeIn(EffectDuration.Slow).Blur(delegate
            {
                Window.ShowModalDialog("Testing", null, "");
            });
                
        });
    }
}


 



Al compilar, revisamos la carpeta “bin” del proyecto, y podemos ver el resultado. Aunque no es un DOM que transcribe las funciones, sino más bien, está todo sobre un framework de JS de ScriptC# que va, en este caso encima de otra capa que sería jQuery.



Código que se compila:



(function(){function executeScript(){
Type.registerNamespace('WebAppDemo.Home');WebAppDemo.Home._HomePage=function(){}
Type.registerNamespace('WebAppDemo.Shared');WebAppDemo.Shared._Utility=function(){}
WebAppDemo.Home._HomePage.registerClass('WebAppDemo.Home._HomePage');
WebAppDemo.Shared._Utility.registerClass('WebAppDemo.Shared._Utility');
(function(){$(function(){
var $1_0=$('.mydiv');$1_0.fadeIn('slow').blur(function(){
window.showModalDialog('Testing',null,'');});});})();
}
ss.loader.registerScript('WebAppDemo.Home',[],executeScript);})();


Código en debbug, que sería el equivalente directo en JS.



(function () {
    $(function() {
        var query = $('.mydiv');
        query.fadeIn('slow').blur(function() {
            window.showModalDialog('Testing', null, '');
        });
    });
})();


Esto es solo una pequeña prueba, en otra entrega probaré un poco más a fondo a Script# y su rendimiento.



Por ahora solo les digo que la herramienta te permite hacer algo que de otra forma sería muy dificil o poco mantenible: Tener control sobre el código del cliente desde el servidor.



Gracias por leer!