Blog de Jorge Pedraza

julio 30, 2009

ASP.NET Mobile Web

Filed under: Aplicaciones Web — JorgePedraza @ 4:51 pm
Tags: , , ,

Actualmente los teléfonos celulares forma parte de nuestro estilo de vida. Hoy en día los dispositivos moviles puede conectarse a internet y ejecutar aplicaciones web como es ASP.NET Mobile Web.

Las aplicaciones ASP.NET Mobile Web puede ser desarrollada para gestionar información por los usuarios en cualquier parte del mundo a través de su teléfonos celulares con conectividad a internet.

La mayoria de esto dispositivos como Teléfono celulares soporte diferentes estandares de la internet como: WAP (Wireless Application Protocol), WML (Wireless Markup Language), HTML (HyperText Markup Language) completo o limitado. Los cuales representa las vías alterna de ASP.NET Mobile Web para delizar la información.

Para efecto de Articulo se utiliza Visual basic 2005 o superior.

El desarrollo de una solución ASP.NET mobile web; consta de unos simples pasos:

  1. Se usa Visual Studio 2005 o superior, para crear un proyecto web del tipo ASP.NET web site.
  2. Elimina el Web.config existente y luego agregar un nuevo con su configuración por defecto.
  3. Elimina pagina default.aspx y luego agregar una pagina nueva con un nombre personilizado.
  4. En el archivo de la clase vinculada a la pagina aspx, se debe cambiar la sentencia de la herencia a: Inherits System.Web.UI.MobileControls.MobilePage.
  5. En la pagina aspx se agrega en la segunda linea lo siguiente: <%@ Register  TagPrefix=»mobile»  Namespace=»System.Web.UI.MobileControls» Assembly=»System.Web.Mobile»  %>
  6. En el cuerpo de la pagina aspx se debe modificar con la siguiente instrucciones basica: <%@ Page Language=»VB» AutoEventWireup=»false» CodeFile=»TestMobile.aspx.vb» Inherits=»TestMobile» %>
    <%@ Register  TagPrefix=»mobile»  Namespace=»System.Web.UI.MobileControls» Assembly=»System.Web.Mobile»  %>
    <html xmlns=»http://www.w3.org/1999/xhtml» >
    <body>
        <mobile:form idform1» runatserver«>
        <mobile:Label id=»label1″ runat=»server»>Hola Mobile Web</mobile:Label>
        </mobile:form>
      </body>
    </html>
  7. Luego se puede agregar otro formulario asp.net form dentro dicho cuerpo de acuerdo a las necesidades del proyecto.
  8. Para activar un formulario en especifico y ser visualizado por la pantalla mobile se usa la siguiente instrucción desde cualquier evento relacionado : Me.ActiveForm = Form2

Controles ASP.NET mobile : A continuación se hace un resumen de controles agrupado por las siguientes categorias.

  1. Controles de Interfaz de usuarios
    1. Command : Realiza un Acción.
    2. Form : Define un contenedor de controles movíles
    3. Image : Define una Imagen.
    4. Label : Define un texto.
    5. Link : Define Hipervínculo.
    6. List : Define una lista.
    7. MobilePage : Define la clase base para todas la paginas mobiles.
    8. ObjectList : Define uns lista de objetos de datos.
    9. Panel : Define un contenedor para otros controles.
    10. SelectionList : Define un lista de selección
    11. StyleSheet : Define un estilo para aplicar a otros controles.
    12. TextBox : Define un caja de entrada de simple linea.
    13. TextView : Define un caja de entrada de  multi linea.
  2. Controles de validación
    1. CompareValidator : Compara el valor de un control de entrada con el valor de otro control de entrada o un valor fijo.
    2. CustomValidator : Permite escribir un metodo para manejar la validación de un valor de entrada.
    3. RangeValidator : Asegura que el valor de cualquier control de entrada coincida con un patron especifico.
    4. RegularExpressionValidator : Hace que un control de entrada sea un campo requerido.
    5. ValidationSummary : Muestra un resumen de todos los errores de validaciones ocurrido en la pagina.
  3. Controles de utilidad
    1. AdRotater : Muestra Anuncios
    2. Calendar : Muestra un Calendario.
    3. PhoneCall : Llama un numero de teléfono.

Es importante resaltar que debido a la capacidades reducida de la mayoria de dispositivos movíles (teléfonos celulares). Ellos carecen de funcionalidad de lenguaje javascript de lado del cliente. por tal razón al momento de trabajar con controles especiales como lo de validación; se termina controlado todo el comportamiento de la pagina y su controles vía codigo .NET, Ejemplo:

  • Protected Sub Command1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Command1.Click
            If Me.IsValid Then
                edad = CInt(TextBox1.Text)
                Me.ActiveForm = Form2
            End If
        End Sub

Aplicando Mejores Practicas para las Aplicaciones Movíles:

  1. Utiliza contenido de pagina.
  2. Enviar solo registros de datos, que este interesado el usuario.
  3. Prueba controles de adaptación con varios dispositivos. incluyendo dispositivos que muestra pocas lineas.
  4. Presenta al usuario valores por defecto, siempre que sea posible.
  5. Evaluar el uso del ViewState.
  6. Usar caché  cuando sea posible, para evitar cargar datos recurrente al servidor.
  7. Combinar varios formulario en un pagina.
  8. Usar sesiones sin cookie.
  9. Usar Hipervínculo a un formulario
  10. Minimizar el uso de imagenes.

Para el desplegué de la solución ASP.NET mobile web necesita de:

  1. IIS 5.1 o superior (Windows XP Profesional SP3 o superior)
  2. .NET Framework 2.0 SP 2 o Superior.
  3. Conectividad a la red (internet)

Para mayor información consulta:

Adicionalmente anexo codigo fuente TestMobileWeb

julio 28, 2009

Algunos feedback Visual Studio 2010

Filed under: feedback.NET — JorgePedraza @ 1:25 pm
Tags: , ,

Hola, la presente entrada de mi blog tiene como objetivo mencionar algunas mejoras planteada para el futuro de visual studio 2010; basado en los comentarios de la comunidad profesionales y propio de mi persona.

A continuación menciono una lista de mejoras planteada:

  1. Multi-targeting, must support technologies related by Default .
  2. Save As of All Solution (Save All As…) .
  3. asynchronous Application, generated from the Data Sources Window.
  4. option for set path alternate in standalone database.
  5. improve option Sort of DataGridView linked Datatable.
  6. native function ‘popup’ for ASP.NET 4.0.
  7. function Msgbox and Inputbox for ASP.NET 4.0.
  8. customizable smart tag for Controls in VS 2010.
  9. Optimization DATASET in threading programming.
  10. Method asynchronous for Update and fill of DataAdapter.
  11. enhacements of option ASP.NET Configuration.
  12. Control DateTimePicker for ASP.NET 4.0.
  13. Options:International Settings, cause error of Launch VS 2010.
  14. ClickOnce Native for Application Windows Mobile.
  15. Loading and Saving Projects in Live SkyDrive Account.
  16. easy method for encryption.
  17. Method Native for Export in DataGridview Control.
  18. Chart Control wizard.
  19. Preview report Document in Visual Studio 2010.
  20. Native Template for Microsoft Dynamics.
  21. Standar Layer for device with Framework 4.0.
  22. Option of Game in Installer VS 2010.
  23. Installing Visual Studio 2010 Professional.

Gran parte de estos feedback fueron aceptados y lo puede consultar uno a uno detallamente; otros quedaron latente para una proxima versión de visual studio.

Con esto se pretender crear reflexión con todos los amigos profesionales del area; para generar iniciativa propia de sugerir cambios y mejoras escenciales de las futuras herramientas de microsoft, basado en las experiencias y necesidades propias .

Finalmente invito a todos los amigos del área a plantear y apoyar los feedback actuales y futuro, ya que de esto depende que se realice cambios y se pueda obtener un valor agregado.

Para mayor información visita: Microsoft Connect

julio 20, 2009

Convertir pagina HTML a ASP.NET

Filed under: Aplicaciones Web — JorgePedraza @ 7:18 pm
Tags: , ,

Uno de los escenarios web que se puede encontrar cualquier desarrollador de página Web dinámica como es el caso ASP.NET; es tratar de crear, mantener y entregar sitio ASP.NET atractivos y funcionales acorde con requerimientos específicos. Y todo esto basado en organizaciones (Compañía de Software) Heterogénea, donde existe equipos de desarrollo (ASP.NET), equipos de diseñadores grafico (Plataforma y Herramientas de diseño de Tercero) así como coordinadores de proyecto separado geográficamente.
Dado  a esta situación el desarrollador ASP.NET va depender primeramente de la aprobación de la estructura del sitio web; posteriormente la elaboración y entrega del arte (Plantilla web HTML) por parte del equipo de diseño grafico y finalmente es donde dicho desarrollador web dinámico (ASP.NET) genera todo la ingeniera de código web dinámico relacionado con el sitio.
Entonces el presente artículo tiene como finalidad básica de exponer una forma sencilla y directa de convertir cualquier sitio web estático (Páginas Web HTML) a proyecto ASP.NET (Pagina Dinámica).

Para fines de este articulo, se va utilizar un proyecto web ASP.NET 2.0 con lenguaje Visual Basic 2005, ademas de un plantilla web de prueba que se puede encontrar en sitios web gratis o pago; una vez claro con estas pautas se comenta los siguientes:

  1. Establecemos la plantilla web para el supuesto cliente. Un ejemplo de esto puede ser:plantillas-gratis-014.
  2. Creamos un proyecto del tipo Aplicación Web ASP.NET, el cual llamaremos ASPNETCasinoOnline.
  3. Por defecto en el proyecto ASP.NET  encontramos basicamente dos archivos (default.aspx y Web.Config), del cual podemos  prescindir de default.aspx, pulsando boton derecho sobre èl desde el explorador de soluciones y luego click en delete o eliminar.
  4. Ahora explico una forma rapida y sencilla para que la plantilla web con todo su contenido forma parte del proyecto ASP.NET en Cuestion: y es simplemente copia todo el contenido relacionado con la plantilla incluyendo la pagina html en la caperta del proyecto ASP.NET creado previamente; notando que la ubicación exacta sea donde esta el archivo Web.Config.
  5. Volvemos a Visual Studio y buscamos en el explorador de soluciones, y nos situamos en la opción mostrar todos los Archivos o Show All files, en algunos casos solo se actualiza:SESAF, luego debe aparecer las información relacionado con la plantilla y es ahi donde por cada elemento debemos incluir en proyecto o Include in Project: ESIP y finalmente se completa como:ListoSE.
  6. Se procede a cambiar la extensión de index.html a index.aspx.
  7. Se agrega un elemento nuevo del tipo Class.vb con el siguiente nombre index.aspx.vb; posteriormente en su contenido se reemplaza con:  Public Class index   Inherits System.Web.UI.Page   End Class.
  8. Se agrega un elemento nuevo del tipo Class.vb con el siguiente nombre index.aspx.designer.vb; posteriormente en su contenido se reemplaza con: Partial Public Class index Protected WithEvents form1 As Global.System.Web.UI.HtmlControls.HtmlForm  End Class
  9. Se pulsa boton derecho sobre index.aspx y se da click vista de marcado o view Markup
  10. Se anexa en la primera linea del documento HTML: <%@ Page Language=»vb» AutoEventWireup=»false» CodeBehind=»index.aspx.vb» Inherits=»ASPNETCasinoOnline.index» %>
  11. Se busca y modifica lo siguiente: <form id=»form1» name=»form1» method=»post» action=»»> a <form id=»form1″ runat=»server«>
  12. Ahora se pone en juego hacer que cada elemento HTML de interés se convierta en un objeto de lado del servidor insertando dentro de la etiqueta html la palabra clave runat=»server» y además un nombre especifico para el Id de la etiqueta. Ejemplo: <a href=»» idlinkDownload» runatserver« >Download</a>. Luego ya tenemos visibilidad de los objetos html de lado de servidor con relación al codigo de programación .net. 

Una vez entendido estas series de pasos sencillos; se puede utilizar de forma analoga para cualquier objeto del tipo html y plantilla relacionada. incluso se puede aprovechar esta plantilla para crear un MasterPage.

En conclusión encontramos una forma ideal para trabajar alineado con algunos escenarios de desarrollo web aplicado en Organización heterogénea, el cual permitirán sacar mayor partido de la solución Planteada, junto con las herramientas de desarrollo web de Microsoft.

Para Mayor Información Anexo POnlineCasino y ASPNETCasinoOnline

julio 16, 2009

ASP.NET – Popup

Filed under: Aplicaciones Web — JorgePedraza @ 10:32 pm
Tags:

Desde que las paginas web se han convertido en un estandar de la internet, como el medio principal para interectuar con los usuarios de computadora alrededor del mundo. El documento html a evolucionado fuertemente dando entrada a temas como los lenguaje de interpretado  y plataforma de desarrollo web dinamico.

Mucha paginas web adoptan caracteristicas similar a la interfaz de un aplicación windows incluso a nivel de interación de ventanas. entonce el presente articulo tiene como finalidad dar foco al aspecto de llamada de ventanas web emergentes en diferentes modalidades .

En ASP.NET tiene excelente capacidades en relación con javascript estandares para logra atractivo comportamiento de las ventanas web emergente con las paginas aspx.

Acontinuación se meciona algunos JavaScript de interes para este proposito:

  • open : Abre una ventana nueva y carga el documento web especificado por una URL determinada.
  • opener : Establece o recupera una referencia a la ventana que creó la ventana actual.
  • showModalDialog : Crea un ventana dialogo modal que muestra el documento web especificado.
  • ShowBrowserUI : Abre el cuadro de diálogo Explorador especificada.
  • showModelessDialog : Crea un cuadro de diálogo no modales que muestra el documento HTML especificado.
  • showHelp : Muestra un archivo de ayuda. Este método puede utilizarse con ayuda de HTML de Microsoft.
  • show : Muestra una ventana emergente en la pantalla.

Para mayor información acerca del uso de estos metodos consulte los Metodos DHTML

Ahora se menciona  pasos breve para logra que cualquier paginas ASP.NET se comporte como pagina cargada en ventana del explorador tipo emergente.

  1. Se inicia visual studio 2005 o superior, luego seleciona un proyecto de aplicación web en lenguaje deseado. para fines de este articulo se usa el lenguaje Visual Basic.
  2. Ahora se habla de tres modalidad de ventana Emergente web para este articulo (open, showModalDialog, showModelessDialog) de ahi su concepto son Auto descriptible.
  3. Se agrega de inmediato un elemento nuevo del tipo JavaScript (script.js), el cual contendra los javascript clave que se estaran usando de forma centralizada, cuyo metodos y parametros son los siguientes:
    • UpdateTexto(idname,valor)  :  Metodo para fijar valor en un objeto de entrada (caja de texto).
    • OpenCatalago(idname, postBack, Ancho, Alto, PaginaWeb) :  Metodo para abrir ventana del navegador emergente cargando determinada pagina aspx desde otra pagina aspx la cual es la principal.
    • SetDatos(formName, idname, newData, postBack) :  Metodo para fijar valor en un objeto perteneciente a una pagina aspx principal donde se invoco la otra pagina aspx en formato navegador emergente.
    • VentanaDialogoModal(url,Arg,Ancho, Alto, idname) :  Metodo para Invocar pagina aspx en una ventana de dialogo modal emergente del navegador .
    • VentanaDialogoNoModal(url,Arg,Ancho, Alto, idname) :  Metodo para Invocar pagina aspx en una ventana dialogo no modal emergente del navegador.
    • idname : nombre identificador del objeto html contenido en la pagina.
    • valor :  valor especifico para un objeto html
    • postBack : valor booleano para establecer postBack de la pagina
    • Ancho :  Ancho de la ventana del navegador donde carga determinada Pagina aspx.
    • Alto :  Alto de la ventana del navegador donde carga determinada Pagina aspx.
    • PaginaWeb : Nombre de la pagina aspx
    • newData : Nuevo dato para fijar en objeto de destino.
    • Arg : Argumento que puede representar un valor o estructura de objeto.
  4. Entonce se agraga 3 paginas ASPX :
    • WebVentana.aspx   ->open,
    • WebVentana2.aspx ->showModalDialog,
    • WebVentana3.aspx ->showModelessDialog
  5. Se incluye una referencia del javascript (script.js) en cada pagina del proyecto: 
    • <head runat=»server»>
          <title>Popup en ASP.NET</title>
          <script  type=«text/javascript» src=«script.js» ></script>
      </head>
  6. En la pagina default.aspx vamos agregar una caja de texto y tres botones del tipo HTML, el cual sera convertido en objeto del lado del servidor.
  7. En  las paginas Web: WebVentana.aspx , WebVentana2.aspx  se agrega una caja de texto  y un boton del tipo HTML y en WebVentana3.aspx se agrega un Caja de texto y tres botones del tipo HTML. Todos ellos  sera tambien convertido en objetos del lado del servidor. 
  8. Una vez construido el esqueleto del proyecto, en la pagina default.aspx vamos programar en el evento load los respecitvos enlaces javascript con los objectos HTML de lado del servidor.
    • Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
         If Not Me.IsPostBack Then
            Button1.Attributes.Add(«Onclick», «javascript:OpenCatalago(Text1, false ,515, 400,WebVentana.aspx)»)
            Button2.Attributes.Add(«Onclick», «javascript:VentanaDialogoModal(WebVentana2.aspx,Text1.value,400,400,Text1);»)
            Button3.Attributes.Add(«Onclick», «javascript:VentanaDialogoNoModal(WebVentana3.aspx,window,400,400,Text1);»)
         End If
      End Sub   

Una vez más se encuentra una forma versátil de generar sitio web ASP.NET con capacidades especiales de ventana emergente del explorador, para centrar todo los proceso de operación en un pagina principal sin necesidad de desplazarla.

Para mayor detalle, anexo codigo fuente en visual studio 2005 Codigo fuente ASP.NET Popup

julio 7, 2009

Windows Mobile 6.5 – Aplicaciones móviles de próxima generación

Filed under: Aplicaciones Moviles — JorgePedraza @ 4:47 pm
Tags: , ,

En la actualidad las soluciones móviles crecen exponecialmente en el mercado,  convertiendose en el centro de evolución de los sistemas de Información. Estos es posible gracias a la gama de sistemas operativos móviles host que han  marcado las diferencias para albergar y gestionar dicha soluciones;  Entre ellos esta Microsoft Windows Mobile.

Windows Mobile: es un sistema operativo compacto, con una suite de aplicaciones básicas para dispositivos móviles basados en la API Win32 de Microsoft. Los dispositivos que llevan Windows Mobile son Pocket PC, Smartphones y Media Center portátil

Su evolución más actual:

  • Windows Mobile 2003,
  • Windows Mobile 5.0 ,
  • Windows Mobile 6.0,
  • Windows Mobile 6.1
  • Finalmente Windows Mobile 6.5

En Windows Mobile 6.5  incorpora extraordinaria caracteristicas generales de interes como:

  1. El menu en forma de panal del boton de inicio para tener mejor accesibilidad a las opciones propia del sistema.
  2. Mayor resolución de botones para adaptarse mejor al funcionamiento tactil.
  3. Interfaz grafica más rica y Robusta.
  4. Mejor interfaz  de la Calculadora.
  5. Integración con MyPhone.
  6. Windows Media 10.
  7. Windows live Mobile 10.
  8. Internet Mobile Explore 6 Mejorado.
  9. Microsoft Office Mobile 6.1.
  10. Administrador de Tarea Similar al de Microsoft Windows.

Otra Caracteristica que resalta  Windows Mobile 6.5 es la compatibilidad e integración con la plataforma .net ( .NET compact Framework), así como nuevas  API Win32 y Opciones Misceláneos propia del sistema operativo.

En particular .NET Compact Framework respresenta la plataforma de desarrollo central para despligue y ejecucion de aplicaciones móviles y los podemos encontrar integrado por defecto en sistemas operativos móviles:

  • .NET Compact Framework 2.0  (Windows Mobile 6.0)
  • .NET Compact Framework 3.5  (Windows Mobile 6.1 o Superior)

Efectivamente cada version de .Net Compact framework puede ser instalado en cualquier versión Windows Mobile que no lo incorpore.

Referente al desarrollo de apliciones Windows Mobile como tal, se puede citar el  Kit de herramientas del desarrollador de Windows Mobile 6.5 que Agregan documentación, codigo de ejemplo, archivos de biblioteca, Imagenes de emulador y herramientas  para Visual Studio que permite construir aplicaciones para Windows Mobile 6.5. Al momento de usar cualquier especificación de API o codigo de ejemplo se debe tener instalado previamente el SDK de Windows Mobile 6.0. Para mayor información:

Ademas en el  kit de herramientas del desarrollador de Windows Mobile 6.5 posee algunas caracteristicas:

  • Emulador Cuadrado Windows Mobile 6.5 Profesional
  • Emulador QVGA Windows Mobile 6.5 Profesional
  • Emulador WQVGA Windows Mobile 6.5 Profesional
  • Emulador VGA Windows Mobile 6.5 Profesional
  • Emulador WVGA Windows Mobile 6.5 Profesional

Así como la Introdución de nuevos conjuntos de APIs que permite a desarrolladores de aplicaciones hacer tareas avanzadas con el nuevo marco de trabajo de gesto de toque de Windows Mobile 6.5.  La APIs permite que cualquier aplicación maneje la entrada de gesto de toque y provee una experiencia consistente visualmente con el resto de las Interfaz de usuario del Dispositivo.
La APIs son definida en los siguientes archivos de Encabezado:

<Gesture.h>
<GesturePhysicsEngine.h>
<WindowsAutoGesture.h>

Nota las APIs Gesto están disponible solo en SKUs Windows Mobile Clásico y profesional. La Bibliotecas y Encabezados son instalados en Windows Mobile SDK\Pocket PC\Carpeta. Ejemplo: Para hacer uso de esta APIs se instalan dentro del Kit de herramientas de Windows Mobile 6.5\Ejemplos\Carpeta.

Finalmente para desarrollar aplicaciones en Windows Mobile 6.5 de forma rapida y segura, se puede basar por defecto en herramientas de desarrollos como Visual Studio 2005 Profesional o Superior a traves del SDK de Windows Mobile 6.0 en unión con el DTK Windows Mobile 6.5. Un Ejemplo clásico para realizar los primeros pasos de desarrollo:

  1. Abrir Visual Studio 2005 Professional o Superior.
  2. Crear nuevo proyecto de dispositivo Inteligente del tipo Windows Mobile 6, tomada la opción Aplicación de Dispositvio.
  3. Luego una vez cargado la fuente base se procede en la barra de herramientas de dispositivos; cambiar la emulación de Windows Mobile 6.0 a 6.5
  4. Se realiza cualquier rutina sencilla con el formulario
  5. Se pulsa F5 y posteriormente la aplicación es compilada y desplegada en la Plataforma Windows 6.5

En Resumen Windows Mobile 6.5 es uno de los sistemas operativos móviles actuales más difundido en la gama de dispositivos inteligentes de tecnologías de punta, que sirve como host de aplicaciones móviles actuales y futuras. Siendo posible esto a través de un conjunto de recursos de desarrollos y herramientas  relacionadas con Visual Studio 2005 Profesional o Superior. Así como la obtención de un mayor nivel de productividad en diferentes escenarios empresariales.

Blog de WordPress.com.