Ajax Control Toolkit ahora soporta jQuery

La version del Ajax Control Toolkit de Setiembre 2013 permite construir nuevos controles con jQuery.

Puedes descargarlo de aqui:http://AjaxControlToolkit.CodePlex.com o lo puedes instalar directamente desde dentro de Visual Studio con el siguiente comando NuGet:
PM> Install-Package AjaxControlToolkit

Nueva Clase Base jQuery

Esta versión del Ajax Control Toolkit introduce una nueba clase base jQueryExtender. Esta nueva clase base te permite crear controles Ajax Control Toolkit con jQuery en vez de la biblioteca Microsoft Ajax.

Actualmente solo un control en el Ajax Control Toolkit ha sido reescrito para utilizar esta nueva clase base jQueryExtender (sólo un control ha sido «jQuerizado» o jQueryized). Este control es el ToggleButton (botón de conmutación) y es el primer control en someterse a esta dramática transformación.

Todos los otros controles en el Ajax Control Toolkit han sido escritos usando la biblioteca Microsoft Ajax. Se espera que gradualmente estos controles sean reescritos a controles jQuery.

Aquí hay un ejemplo del nuevo botón de conmutación: http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ToggleButton/ToggleButton.aspx

¿Por qué se están reescribiendo los controles? Hay muy pocos desarrolladores que están trabajando activamente con la biblioteca Microsoft Ajax mientras hay miles de desarrolladores que están trabajando activamente con jQuery.

Porque se quiere que desarrolladores talentosos en la comunidad continúen contribuyendo al Ajax Control Toolkit y porque todos los desarrolladores de JavaScript están familiarizados con jQuery, tiene sentido soportar jQuery con el Ajax Control Toolkit.

El Ajax Control Toolkit es un gran marco de desarrollo para desarrolladores que usan formularios web (web forms) quienes quieren construir controles ASP.NET que utilizan JavaScript. El Ajax Control Toolkit tiene grandes características tales como agrupación automática (automatic bundling), minificación, almacenamiento en caché y compresión. Se quiere facilitar a los desarrolladores de ASP.NET la creación de controles que tomen ventaja de estas características.

Instanciar Controles con Atributos data-*

En el pasado, agregar un Ajax Control Toolkit a una página resultaba en JavaScript en línea (inline) inyectado en la página. Por ejemplo, añadiendo el control ToggleButton a una página inyectaba el siguiente HTML y script:

<input
   id="ct100_SampleContent_CheckBox1"
   name="ct100$SampleContent$CheckBox1"
   type="checkbox"
   checked="checked" />

<script type="text/javascript">
//<![CDATA[

Sys.Application.add_init(function() {

$create(Sys.Extended.UI.ToggleButtonBehavior, {"CheckedImageAlternateText":"Check", "CheckedImageUrl":"ToggleButton_Checked.gif", "ImageHeight":19, "ImageWidth":19, "UncheckedImageAlternateText":"UnCheck", "UncheckedImageUrl":"ToggleButton_Unchecked.gif", "id":"ctl00_SampleContent_ToggleButtonExtender1"}, null, null, $get("ctl00_SampleContent_CheckBox1"));

});

//]]>

</script>

Noten la llamada al método JavaScript $create() al final de la página. Cuando se usa la biblioteca Microsoft Ajax, esta llamada al método $create() es necesaria para crear el control Ajax Control Toolkit.

Este script en línea (inline) luce horrendo para un moderno desarrollador de JavaScript.

La versión jQuery del ToggleButton inyecta el siguiente HTML y script en la página:

<input
   id="ct100_SampleContent_CheckBox1"
   name="ct100$SampleContent$CheckBox1"
   type="checkbox"
   checked="checked"
   data-act-togglebuttonextender="imageWidth:19, imageHeight:19, uncheckedImageUrl:'ToggleButton_Unchecked.gif', checkedImageUrl:'ToggleButton_Checked.gif', uncheckedImageAlternateText:'I don't understand why you don't like ASP.NET', checkedImageAlternateText:'It's really nice to hear from you that you like ASP.NET'" />
 />

¡Noten que no hay script! No hay llamada al método $create(). De hecho no hay JavaScript en línea (inline).

La versión jQuery del ToggleButton utiliza un atributo HTML5 data-* en vez de JavaScript en línea. Este control es instanciado con un atributo data-act-togglebuttonextender. Usando atributos data-* da como resultado un código mucho más limpio. (No hay necesidad de sentirse avergonzado cuando se selecciona Ver fuente en el navegador de internet)

Ajax Control Toolkit Versus jQuery

¿Por qué es necesario el Ajax Control Toolkit después de todo? ¿Por qué no sólo usar jQuery plugins en vez de Ajax Control Toolkit?

Por ejemplo, hay muchos plugins jQuery del tipo ToggleButton en Internet. ¿Por qué no sólo usar uno de esos plugins?

Los controles Ajax Control Toolkit corren en ambos, en el servidor y en el cliente.
Los plugins jQuery corren en el cliente. Un plugin jQuery no incluye ningún código en el servidor. Si necesitas hacer trabajo en el servidor, piensa en el control AjaxFileUpload, entonces no puedes utilizar una solución jQuery pura.

Los controles Ajax Control Toolkit proveen una mejor experiencia de Visual Studio
No obtienes ninguna experiencia en tiempo de diseño cuando usas plugins jQuery dentro de Visual Studio. Los controles Ajax Control Toolkit por otro lado están diseñados para trabajar con Visual Studio. Por ejemplo, puedes usar la ventana de propiedades en Visual Studio para establecer las propiedades del control Ajax Control Toolkit.

Los controles Ajax Control Toolkit te escudan de tener que trabajar con JavaScript
No a todos los desarrolladores les gusta JavaScript y algunos quieren tratar de evitar completamente tener que escribir código en JavaScript. El Ajax Control Toolkit te permite tomar ventaja de JavaScript (y de las últimas características de HTML5) en tus sitios web con ASP.NET Web Forms sin tener que escribir una línea de código en JavaScript.

Mejor Documentación del ToolkitScriptManager

Con esta versión se ha agregado documentación detallada para utilizar el ToolkitScriptManager. En particular se ha agregado documentación que describe cómo tomar ventaja de la nueva agrupacion (bundling), minificación, compresión y almacenamiento en caché que tiene el Ajax Control Toolkit.

Lo puedes leer aquí: http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ToolkitScriptManager/ToolkitScriptManager.aspx

Otras correcciones

Esta versión del Ajax Control Toolkit incluye muchas correcciones de error (bug fixes). Por ejemplo, el control Ajax Control Toolkit Twitter ha sido completamente reescrito con esta versión.
Twitter está en proceso de retirar la primera versión de su API. Puedes leer sobre sus planes aquí: https://dev.twitter.com/blog/planning-for-api-v1-retirement

Se ha reescrito completamente el control Ajax Control Toolkit para usar la nueva API de Twitter. Para tomar ventaja de esta nueva API, debes obtener una llave (key) y token de acceso de Twitter y agregar la llave y el token a tu archivo web.config.
Instrucciones detalladas para usar esta nueva version puedes encontrarla aquí: http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Twitter/Twitter.aspx

Conclusión

Se han hecho grandes cambios al Ajax Control Toolkit en las últimas 2 entregas para modernizar el toolkit. En la entrega anterior se actualizó el toolkit para hacer uso de una mejor agrupación, minificación, compresión y almacenamiento en caché. Con esta entrega ahora el Ajax Control Toolkit soporta jQuery. Se han hecho importantes correcciones de error.

Para leer la versión original en inglés: http://stephenwalther.com/archive/2013/09/30/ajax-control-toolkit-now-supports-jquery

Meme

Un «meme» es una idea, conducta o estilo que se difunde de persona a persona dentro de una cultura. Un meme actua como una unidad para transportar ideas culturales, símbolos o prácticas que pueden ser transmitidas de una mente a otra a través de la escritura, habla, gestos, rituales u otro fenómeno imitable. La gente que apoya el concepto considera los «memes» como una analogía cultural hacia los genes debido a que ellos pueden auto duplicarse y responden a presiones selectivas.

La palabra «meme» viene de «mimeme» griego antiguo. «Cosa imitada», «Imitar». El término fue acuñado por Richard Dawkins en su libro «The Selfish Gene (1976)» como un concepto para la discusión de principios de evolución para explicar la difusión de ideas y fenómenos culturales. Ejemplos de «memes» en el libro incluían melodias, frases pegajosas, moda y la tecnología de construir arcos.

Meme. s. idea cultural, la práctica social, concepto o acción que se convierte en una norma y comienza a repetirse conscientemente en una sociedad (término acuñado por Richard Dawkins en su libro «El gen egoísta», 1976)

El mito del programador «estrella».

El mito del programador estrella (Rockstar Programmer) es sólo eso, un mito. Es un mito por varias razones:

  • Crea una expectativa irracional hacia gente normal.
  • Llamar a alguien «estrella» desmotiva al equipo.
  • Decirle a alguien que es una «estrella» puede causar que empiece a creer que lo es.

La realidad es una curva de distribución normal. Muchos desarrolladores experimentados de buen promedio, algunos sorprendentes excepcionales (outliers) y algunos principiantes con potencial. (Y algunos que realmente son malos.)

Ley de Brook: Agregar más gente a un proyecto de software retrasado hace que se retrase aun más.

La gente suele decir que una «estrella» puede hacer el trabajo de 10 ingenieros regulares. Esto no tiene sentido. 9 mujeres no pueden tener un bebé en un mes, así como 10 desarrolladores «estrella» no pueden reemplazar 100 desarrolladores regulares.

  • Ingeniero principiante – Crea soluciones complejas a problemas simples.
  • Ingeniero – Crea soluciones simples a problemas simples.
  • Ingeniero experimentado – Crea soluciones simples a problemas complejos.
  • Ingeniero «estrella» – Hace que los problemas complejos desaparezcan.

El equipo «estrella» es una realidad.

De hecho, es la diversidad de pensamiento y experiencia en un equipo lo que lo convierte en un equipo «estrella», esto es lo que realmente se quiere. Pon arquitectos con experiencia y buenas ideas con ingenieros positivos y entusiastas quienes estén aprendiendo y obtendrás algo.

Para leer el artículo original en inglés: http://www.hanselman.com/blog/TheMythOfTheRockstarProgrammer.aspx

Sorteo de Aston Martin para subscriptores de MSDN vence el 30 de Setiembre.

Anteriormente se anunciaron a número de grandes cambios a Windows Azure que lo hacen un fantástico ambiente de nube para usarlo en escenarios de desarrollo y pruebas. Estas capacidades funcionan aun major en escenarios donde estás construyendo aplicaciones que finalmente serán instaladas en servidores locales (on premises).

Algunos de los cambios anunciados fueron:

  • No se cobra por máquinas virtuales (VMs) detenidas.
  • Se cobra por minuto.
  • Derechos de uso MSDN en Windows Azure.
  • Precios muy reducidos para MSDN Desarrollo/Pruebas (hasta 97% de descuento sobre el precio regular)

Se introdujo un nuevo crédito mensual para MSDN, el cual permite utilizar hasta $150 por mes en Windows Azure como crédito monetario gratis para escenarios de desarrollo y pruebas. Estos créditos son renovados cada mes, permitiéndote usar hasta más de $1000 cada año.

Estos créditos pueden ser utilizados sobre cualquier cosa en Windows Azure, por ejemplo: máquinas virtuales (VMs), infraestructura móvil (Mobile Backends), servicios en la nube, base de datos, almacenamiento, Hadoop, media y más. Te permiten de que nunca tengas que esperar para que el departamento de sistemas  te pueda dar capacidad para desarrollo y pruebas.

No se requiere tarjeta de crédito para usuarios de MSDN al momento de registrarte en Windows Azure

Anteriormente se modificó Windows Azure para que no requiera validación de tarjeta de crédito al momento de registrarse cuando el usuario es de MSDN.

Simplemente regístrate en Windows Azure utilizando el mismo Microsoft ID (previamente se llamaba Live ID) registrado con tu cuenta MSDN y podrás activar tus beneficios MSDN en Windows Azure en segundos sin tarjeta de crédito o detalle de pagos requerido.

Una vez activado puedes inmediatamente empezar a usar tus créditos MSDN gratuitos en cualquier recurso de Windows Azure.

Sorteo especial Aston Martin hasta el 30 de Setiembre

Como incentivo adicional para que trates tus beneficios MSDN gratuitos se está realizando un sorteo especial Aston Martin hasta el 30 de setiembre, el afortunado ganador ganará un Aston Martin V8 Vantage 2013.

No se requiere realizar una compra para entrar al sorteo (y los impuestos y la entrega están cubiertos). Para inscribirte para el sorteo todo lo que tienes que hacer es:

  1. Registrate en Windows Azure y active tus beneficios MSDN.
  2. Crea y despliega un sitio web en Windows Azure o una máquina virtual Azure (ambos no te cuestan utilizando tus beneficios MSDN)

Una vez que hagas los pasos mencionados automáticamente estarás inscrito para el sorteo.

Para más información (en inglés): http://weblogs.asp.net/scottgu/archive/2013/09/20/msdn-subscribers-windows-azure-aston-martin-sweepstakes-through-sept-30th.aspx

Clave Digital (token) ViaBCP Banco de Crédito del Perú.

Se me ha vencido la clave digital o token del BCP.

Para aquellos que no conozcan de qué se trata es un dispositivo que se requiere para hacer transacciones electrónicas en la página web del banco de crédito. Permite hacer pago de servicios (agua, luz, teléfono, etc), transferencias entre tus cuentas, a otras cuentas, a cuentas de otros bancos, etc.

Aparece un número 3 al lado derecho y debajo un puntito parece un 4. Ya no muestra las cifras.

tokenbcp

Tienes que ir una agencia del BCP cercana y en plataforma tienes que sacar tu ticket, el aparato que entrega tickets te pregunta Con Tarjeta o Sin Tarjeta. Si puedes lleva tarjeta porque puede demorar la cola.

Le entregas tu tarjeta (que está asociada con la clave digital) y tu DNI a la señorita que atiende y te dice que el token está vencido y que tienes que pagar S/. 25.00, es mejor pagar con la tarjeta ya que de lo contrario te mandan a ventanilla a pagar y pierdes más tiempo.

No es necesario entregar el token antiguo, yo no lo llevé. A un amigo se lo pidieron y dijo que no lo traía consigo (ya le habían dado el nuevo token).

La aplicación móvil Quickoffice de Google está disponible gratis.

Al parecer Microsoft no va a hacer que la edición de Office sea gratis en iOS (iPhone) o en Android pero Google sí. Microsoft entrega la aplicación gratis pero requiere de una cuenta Office365 para poder usarla.

Hoy Google hizo su aplicación Quickoffice gratis para todos los usuarios de iPhones, iPads y dispositivos Android

Quickoffice permite crear y editar documentos de Microsoft Office.

Quickoffice fue comprado por Google hace un año y ha permitido editar documentos de Microsoft Office en dispositivos móviles por más de dos años. La aplicación costaba $20 (Versión Pro HD) pero Google lo había dado gratis para las compañías que estén pagando Google Apps for Business. Hoy día es gratis para todos los que tengan una cuenta en Google ya sea que pagues por una subscripción a Google Apps o no.

Google está ofreciendo también 10GB de almacenamiento extra en Google Drive por 2 años a aquellos que registren una cuenta Google para la aplicación Quickoffice hasta el 26 de setiembre.

La aplicación está integrada con Google Drive de tal manera que los archivos puedan ser almacenados en la nube y accedidos desde múltiples dispositivos.

Google le agregó unas cuantas nuevas características a la aplicación, incluyendo la habilidad de crear carpetas comprimidas (ZIP) y poder ver gráficos (charts) en PowerPoint y Excel. Google dijo que la gente que esté usando Quickoffice for Google Apps for Business pueden actualizar a la nueva aplicación.

Cambios en Migración en Vivo (live migration) en Windows 2012 R2

livemigratione

Migraciones en Vivo (live migrations)

Esta característica de Windows desde la version 2008 R2 funcionaba bien para instalaciones propias (on premises) pero no se prestaba bien para centros de datos con múltiples ubicaciones geográficas o nubes híbridas. Microsoft ha introducido 2 nuevas mejoras a esta característica.

Mejora 1

Esta mejora involucra reducir el tiempo que toma ejecutar una migración en vivo. Anteriormente la migración utilizaba una conexión estándar TCP/IP. Aunque esta opción todavía existe en Windows Server 2012 R2.

Dos opciones:

  1. Compresión y
  2. SMB

Compresión.

Esta opción se encuentra habilitada por defecto. Esta característica comprime la información que necesita ser transmitida antes de ser enviada al servidor anfitrión de destino. Esto tiene el potencial de hacer las migraciones en vivo en enlaces WAN (wide area network) más prácticas. Pueden ser usadas para facilitar el movimiento de máquinas virtuales (VMs) entre centros de datos o entre instalaciones propias y un servidor anfitrión en la nube (cloud) sin causar una caída del servicio. En otras palabras permite mover una máquina virtual en producción a una nube pública o visceversa sin tener que poner la máquina virtual fuera de línea.

SMB

Migraciones en vivo utilizando Server Message Block (SMB) algo así como Bloque de Mensajes del Servidor version 3.0.

Esta característica es usada principalmente dentro de un mismo centro de datos (datacenter). Para que funcione el servidor anfitrión (host) tiene que estar equipado con tarjetas de red que soporten Remote Direct Memory Access (RDMA) o en español Acceso directo a la memoria remoto. La ventaja es que el SMB Multi canal (multichannel) puede usar múltiples tarjetas de red en el proceso de la migración en vivo, disminuyendo el tiempo requerido para que la migración se complete.

Mejora 2

Esta mejora involucra facilitar la actualización de la infraestructura virtual. Ejemplo: Si una organizacion está utilizando Hyper-V en Windows Server 2008 R2 y decide actualizar a Windows Server 2012, no hay un forma directa para migrar las máquinas virtuales. Típicamente las máquinas virtuales tienen que ser exportadas desde el servidor viejo e importadas en el servidor nuevo. Como alternativa se puede hacer una copia de seguridad (backup) y restaurar con el objetivo de migrar las máquinas virtuales de una versión de Hyper-V a la siguiente.

Windows Server 2012 R2 hace posible migrar en vivo máquinas virtuales de Windows Server 2012 a Windows Server 2012 R2. Esto debería reducir la complejidad de utilizar Windows Server 2012 R2 en un entorno existente de Hyper-V. Adicionalmente si una compañía quiere migrar de Windows Server 2012 en sus instalaciones propias (on premises) a una nube pública que utiliza Windows Server 2012 R2, podrá hacerlo fácilmente a pesar de la diferencia que existe entre sus sistemas operativos (OSes).