ASP.NET 3.5 Extensions CTP Preview Lanzado ...

Lo he leído en el blog de Scott Gu, lo que muchos estábamos esperando la versión CTP de los ASP.NET 3.5 Extensions.

La estrella de este Release: El framework para desarrollo de aplicaciones ASP.NET utilizando MVC (Model, View, Controller). El mismo Scott nos tenía al tanto con algunas cosas realmente interesantes de este framework.

Este primer release incluye:

  • ASP.NET AJAX Improvements: New ASP.NET AJAX features in the ASP.NET 3.5 Extensions release include better browser history support (back/forward button integration, and server-side history management support), improved AJAX content linking support with permalinks, and additional JavaScript library improvements.
  • ASP.NET MVC: This model view controller (MVC) framework for ASP.NET provides a structured model that enables a clear separation of concerns within web applications, and makes it easier to unit test your code and support a TDD workflow. It also helps provide more control over the URLs you publish in your applications, and more control over the HTML that is emitted from them.
  • ASP.NET Dynamic Data Support: The ASP.NET 3.5 Extensions release delivers new features that enable faster creation of data driven web sites.  It provides a rich scaffolding framework, and will enable rapid data driven site development using both ASP.NET WebForms and ASP.NET MVC.
  • ASP.NET Silverlight Support: With the ASP.NET 3.5 Extensions release we'll deliver support for easily integrating Silverlight within your ASP.NET applications.  Included will be new controls that make it easy to integrate Silverlight video/media and interactive content within your sites.
  • ADO.NET Data Services: In parallel with the ASP.NET Extensions release we will also be releasing the ADO.NET Entity Framework.  This provides a modeling framework that enables developers to define a conceptual model of a database schema that closely aligns to a real world view of the information.  We will also be shipping a new set of data services (codename "Astoria") that make it easy to expose REST based API endpoints from within your ASP.NET applications.

Descarga el CTP de ASP.NET 3.5 Extensions Acá.

Para tener a la mano la información que el mismo Scott ha publicado:

Mucho que aprender estos días así que .. Happy Coding!

 

 

Actualmente calificado con 4.7 por 3 personas

  • Currently 4,666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Microsoft Live Labs: Volta, Web development using only the Materials in the Room

La tecnología Volta (technology preview) es un set de herramientas para desarrolladores que permite construir aplicaciones web multi-capa, aplicando técnicas familiars y patrones. Suena bastante interesante... demasiado interesante diría yo!.

Según textualmente indica el sitio oficial:

First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.

En teoría los desarrolladores podríamos utilizar ya sea web browser o el CLR como clientes y Volta manejaría la complejidad del manejo de capas (tier-splitting). Volta comprende herramientas para ejecutar tareas de profiling a todo nivel con la finalidad de realizar refactoring a nivel de arquitectura y optimizaciones de forma simple y rápida.

Me he bajado el technology preview y te anticipo los requerimientos:

Design Time Requirements:

  • Visual Studio 2008 (Beta 2 [20706.1] or RTM [21022.8]) with .NET Framework 3.5, and
  • A web browser (Internet Explorer 6+ or Firefox 2) for integrated debugging

Client Run Time Requirements:

Volta applications can be compiled target either the full .NET framework runtime version 3.5 or standards-conformant web browsers with JavaScript support.

Server Run Time Requirements (Remote Deployment):

On the server tier Volta applications require version 3.5 of the Microsoft .NET framework, Internet Information Services (IIS) version 6 or 7, and ASP.NET.

Samples

Qué sería de la mención a este projecto sin algo de ejemplos, aquí los ubico: 

Word Worm

Una aplicación de Búsqueda de palabras en Inglés con mecanismo de sugerencias... Realmente sorprendedor...

 

Virtual Earth SDK - Volta Style

Un subset del actual SDK de Virtual, a diferencia del original, este utiliza Volta, de manera que todo el código es C#.

 

 

Descarga.

Yo no esperaría demasiado... siempre es bueno aprender:

 http://labs.live.com/volta/download/

 

 

Sea el primero en calificar este post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Barra de Progreso (ProgressBar) para cargar archivos usando el control FileUpload

Siempre es una pregunta clave el saber si se puede monitorear el progreso de carga de un archivo al servidor web, especialmente si este archivo es de gran tamaño. Hasta ahora yo había recurrido a componentes de terceros para hacerlo Ej.:Upload de Telerik. Lógicamente esto a la vez significa una carga monetaria a tu proyecto. Yo sé tambien hay formas de darle la vuelta, prorratear el precio en varios proyectos.. pero cuando tienes que implementar algo rápido y sin la "intromisión" de una aprobación financiera.. no había otra opción.

Pues en The Code Project encontré un artículo muy, pero muy interesante que indica la forma de cómo hacerlo sin la necesidad de un nuevo control, usando solamente AJAX y variables de aplicación.

El truco consiste en utilizar un FileStream para almacenar el archivo, en vez del SaveAs del FileUpload; utilizar una variable de aplicación para guardar el estado del upload, y luego pasar este estado a controles dentro de un update panel. Mediante un control Timer (De Ajax) cada cierto tiempo se consulta el valor de la variable de aplicación. 

Por qué no usar variables de sessión?... pues según el autor no funciona por ningun lado. Pero para permitir subidas múltiples de archivos, se nombra la variable de aplicación con el ID de la sessión.

Adjunto la parte imporante de este código:

protected void cmdUploadClick(object sender, System.EventArgs e)
{
int intTotal;
int intPercent;
int intFileSize = FileUpload1.PostedFile.ContentLength;
string strOriginalFileName = System.IO.Path.GetFileName(this.FileUpload1.PostedFile.FileName);
string strTargetDirectory = Server.MapPath("./data/temp");
byte[] buffer = new byte[] {10000};

System.IO.FileStream stream = new System.IO.FileStream(strTargetDirectory + "/" + strOriginalFileName,IO.FileMode.Create);

while ((FileUpload1.PostedFile.InputStream.Read(buffer, 0, 10000) > 0))
{
stream.Write(buffer, 0, 10000);
intTotal += 10000;
intPercent = int.Parse(Math.Round(double.Parse(((double.Parse(intTotal) / double.Parse(intFileSize)) * 100))));
Application((Session.SessionID + "test")) = intPercent;
}

stream.Flush();
stream.Close();
stream.Dispose();

Application((Session.SessionID + "test")) = null;
}

Creo que todavía se le puede dar más vuelta a esto para hacerlo más eficiente y tomar ventaja de esto... 

Mientras tanto espero que les sirva.

 

Sea el primero en calificar este post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Creando Aplicaciones Web Avanzadas con Tecnicas de Programación Orientada a Objetos.

En MSDN me encontré este artículo interesante que quisiera compartir con ustedes El artículo contiene:
  • Javascript como lenguaje prototype-based.
  • Programación Orientada a Objetos con JavaScript.
  • Trucos de codificación con JavaScript.
  • El futuro de JavaScript

Muy útil para quienes con el paradigma del Web 2.0 trabajamos mucho con interfaces de usuario e interactividad del lado del cliente.Msdn

Happy Coding

Sea el primero en calificar este post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Cuan lento es ASP.NET Ajax?

Bastante lento, especialmente en IE6. De hecho, la lentitud es tal que puede percibirse mientras se ejecuta la aplicación o página en la poderosa máquina, que cualquier desarrollador decente debería tener. Simplemente con refrescar continuamente una página nos podemos dar cuenta de esta situacion. Verás que el tiempo total que toma cargar toda la página es bastante largo.

ASP.NET Ajax provee un modelo de programación orientada a objetos muy "rica" y una robusta arquitectura los cuales tienen un alto costo al desempeño. Pero por lo que he experimentado, todos estos problemas comienzan en cuanto se comienza a usar UpdatePanels y algunos extenders, lo cual es malo. El desempeño de ASP.NET Ajax es lo suficientemente bueno teniendo un UpdatePanel y uno o dos extenders para algunos efectos. Tal vez un datagrid en la página o algunos campos para ingresar información.

Pero ojo!!, DE NINGUNA FORMA ESTOY DICIENDO QUE ES MALO!, es malo si quieres hacer que tu página de inicio entera esté basada en Ajax. Una página con un 90% de funcionalidad de Ajax tardará mucho en cargarse debido a la serie de código javascript generados por los extenders y UpdatePanels.

Scott Guthrie muestra en su sitio que cambiambiando el atributo debug=false en el archivo web.config entrega mucho menos javascript a la página y se desactivan todas las validaciones, es cierto. Es parte de los "tips" sobreentendidos del deployment de aplicaciones web. Pero aún así en IE6 sigue siendo lento no tanto como antes pero es lento.

De todas maneras, una cosas es que todo ese código adquirido en la descarga inicial no es descargado una segunda vez. De manera que tienes una reducción signficante de tiempo para visitas futuras.

El hecho de utilizar "racionalmente" y "razonablemente" estas características, realmente puede darle un giro a la interfaz de usuario de una aplicación web. Profesionalmente he estado utilizando ASP.NET Ajax para situaciones controladas de audiencia, clientes y ancho de banda como: Intranets, la aplicación administrativa de nuestro CMS (imaget.com) en donde los resultados son estupendos...

Finalmente, UpdatePanel y Extenders no son tan buenos para sitios que llevan al límite las características de Ajax, como páginas de Inicio Web 2.0 (?) (http://www.pageflakes.com/) y tengan un tráfico fuerte y una audiencia muy dispersa, pero de verdad es muy útil para sitios no tan extremos. Es muy productivo tener soporte para Visual Studio y ni hablar de la integración con ASP.NET 2.0.

Algunos enlaces interesantes:

Sea el primero en calificar este post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categorías: ASP.NET | AJAX
Acciones: E-mail | del.icio.us | Permalink | Comentarios (0) | Comment RSSRSS comment feed

Categorías

Sponsors


    Blogroll