¡Más de 200 asistentes registrados en el Code Camp Tarragona 2009!

Pues si, por encima de nuestras estimaciones iniciales, el Code Camp Tarragona 2009 se postula como uno de los eventos de comunidad más importantes del año 2009. Más de 30 sesiones y 30 speakers y con 9 patrocinadores y 3 colaboraciones el Code Camp Tarragon 2009 tiene todos los ingrendientes para ser todo un referente.

No hay escusas. Asistentes de Madrid, Sevilla, Galicia, Bilbao, Valencia, Malaga, Albacete,,, prácticamente desde todos los rincones de España van a estar con nosotros.

Un fin de semana en un Hotel de 4 estrellas en las espectaculares playas de La Pineda con los mayores expertos de .NET y de MONO de todo el país a nuestra disposición. ¿Que más podemos pedir?

¡Anímate y haznos compañia!

Más info: www.codecamp.es

 

 

Listado de recursos de desarrollo para Windows Mobile 6.5

 

A continuación detallo un conjunto de recursos para Windows Mobile 6.X/6.5:

 

Titulo

Tipo  

Descripción  

Programming for Windows Mobile 6.5

 

Artículo

Presenta todos los recursos Online para Windows Mobile 6.5

Developing Web Applications for Internet Explorer Mobile 6 on Windows Mobile 6.5

Artículo

 

Como sacar el máximo provecho a las nuevas características del navegador Internet Explorer Mobile de Windows Mobile 6.5.

Developing Widgets for Windows Mobile 6.5

Artículo

Desarrollar Widgets para Windows Mobile 6.5.

Creating Location-Aware Applications for Windows Mobile Devices

Artículo

Desarrollo de aplicaciones basadas en los Servicios Basados en Localización para Windows Mobile 6.x.

Creating a Compelling UI for Windows Mobile and the Microsoft .NET Compact Framework

Artículo

Aprende a utilizar las API’s de la plataforma Windows Mobile® para aumentar la experiencia de usuario.

 

 

Selecting a Windows Mobile API – .NET Compact Framework and Win32

Artículo

 

 

Este artículo habla acerca de Microsoft® Win32® API y las APIs de Microsoft .NET Compact Framework (NETCF) para Windows Mobile® 6 y posterior.

Getting Started with Building Windows Mobile Solutions with Visual Studio and Windows Mobile 6 SDK

Artículo

Como empezar en el desarrollo de aplicaciones para Windows Mobile® utilizando las mismas herramientas que entornos Desktop con Microsoft® Visual Studio® 2008, y específicamente para Microsoft .NET Compact Framework 3.5. También describe como utilizar las herramientas contenidas en el Windows Mobile SDK.

Optimizing Query and DML Performance with SQL Server Compact Edition 3.5 and SqlCeResultSet

Artículo

 

 

Comparación en la inserción y manipulación de filas utilizando Microsoft® SQL Server® Compact Edition 3.5 SP1, con un especial enfoque para el usuario acerca de cómo utilizar los objetos SqlCeResultSet.

Programming Microsoft Synchronization Services for ADO.NET (Devices)

 

 

Artículo

Una de las características más importantes de Microsoft® SQL Server® Compact Edition 3.5 SP1 es el soporte a Microsoft Synchronization Services for ADO.NET. Esta tecnología de sincronización permite la sincronización de diferentes orígenes de datos para entornos dos, N capas y arquitecturas orientadas a Servicios.

Porting the Amplitude Application from the iPhone to a Windows Mobile Device – a Case Study

Artículo

Case de estudio documentado de portación de aplicación iPhone a dispositivo Windows Mobile 6.5.

 

 

 

Application Verifier

Blog post

Detalles acerca de los pasos necesarios para la certificación de una aplicación al nuevo Marketplace.

GAPI Deprecation

Blog post

El Games API (GAPI) está obsoleto y este post habla de alternativas.

patterns & practices: Mobile Application Blocks – Community Release (was solution factory)

Codigo

Permite a los desarrolladores desarrollar aplicaciones mobile basadsa en VS2008, .NET CF 3.5 y WM6.1. Basado en el block de Mobile Client Software Factory v1, July 2006 e incluye mejoras realizadas por Microsoft Dynamics Mobile PU.

Using Gestures in Windows Mobile 6.5

Documentación

Documentación para la nueva API de Windows Mobile para el reconocimiento de trazas, Gesture API de Windows Mobile 6.5.

Windows Mobile 6 Professional and Standard Software Development Kits Refresh

Descarga

 

 

 

Requisito para Windows Mobile 6.5 Developer Toolkit (DTK)

Windows Mobile 6.5 Developer Tool Kit

Descarga

Windows Mobile 6.5 Developer Tool Kit (documentación, emuladores,…).

6.5 Developer Resource Kit: (External Order Page)

DVD

 
 

FAQ

FAQ de Marketplace

‘How Do I’ videos

Videos

 

Ramp Up, Windows Mobile 6

Webcasts & Hands on labs

Programa RampUp para desarrollo con Windows Mobile 6.x

Windows Mobile Webcasts

Webcasts

Dos webcast específicos para el nuevo API de Gesture.

Fluid – Windows Mobile 6.x Touch Controls

Codigo

Libreria para .NET 2.0 para Windows Mobile 6.0/6.1 con controles Touch.

Windows Mobile Line of Business Solution Accelerator 2008

Descarga

 

Windows Mobile Line of Business Solution Accelerator es un ejemplo de aplicación Windows Mobile que muestra el uso de diferentes tecnologias (WCF, Sync Services, multi idioma, etc.) en una misma aplicación.

[SyncComm] Nueva versión 0.95 en Codeplex

Con un poco de retraso, pues tenia pensado publicar esta versión a principios de agosto, acabo de publicar la nueva versión (0.95) de SyncComm. Como novedades:

  • Nueva gestión de excepciones
  • Corregidos algunos BUGs
  • Mas flexibilidad en el uso de las propiedades de los enlaces para HttpBinding y CompressedBinding.
  • Modificados los namespace

Nueva gestión de excepciones

SyncComm aporta una forma de propagación de excepciones en el proceso de sincronización mediante Sync Services for ADO.NET y el proveedor remoto de sincronización expuesto en un servicio WCF. Básicamente, el proxy generado por la herramienta de generación netcfsvcutil.exe y que se utilizó, con algunas modificaciones para llevar a cabo las sincronizaciones, en las versiones iniciales, no procesaba las excepciones o mensajes fault propagados por el servicio WCF. Siguiendo la Guia WCF para desarrolladores Mobile, publicada también en codeplex, mi primer acercamiento fue el de utilizar el proyecto Mobile.ServiceModelEx expuesto por los autores, el cual solucionaba en gran medida toda la gestión de excepciones entre el servicio WCF y el terminal móvil. Sin embargo, únicamente era válido para enlaces cuya versón de mensaje fuera MessageVersion.Soap11, o mejor dicho, la implementación para otras versiones de mensaje no está implementada. El problema es que SyncComm utilitza un enlace con compresión, mediante GZip encoder, y cuya versión de mensaje SOAP es MessageVersion.Soap12WSAddressing10. Después de algunos intentos de comunicación con los autores, todos sin éxito, decidí implementar dicha características para ambas versiones de mensajes SOAP y pese a que no está tan avanzada como Mobile.ServiceModelEx, lo cierto es que cubre los requisitos necesario para la propagación eficiente de cualquier tipo de anomalía durante el proceso de sincronización y la posterior captura y proceso desde el cliente.

Ahora seriamos capaces de propagar mensajes de error desde el servicio WCF de la siguiente forma:

   1: catch (SqlException sqlex)

   2: {

   3:     Guid id = Guid.NewGuid();

   4:  

   5:     //display detailed exception information on console

   6:     Notification.Invoke(DateTime.Now, 

   7:         string.Format ("Exception {0}: {1}", id.ToString(), sqlex.Message));

   8:  

   9:     //throw and exception for being catch by client

  10:     throw new FaultException<string>(sqlex.Message, new FaultReason(

  11:                     new FaultReasonText("SQL Server is not available. Please try later.")),

  12:         FaultCode.CreateSenderFaultCode(id.ToString(), "urn:synccomm.com/2009/07/ISyncService"));

  13:  

  14:  

  15: }

  16: catch (Exception e)

  17: {

  18:     Guid id = Guid.NewGuid();

  19:  

  20:     //display detailed exception information on console

  21:     Notification.Invoke(DateTime.Now, 

  22:         string.Format ("Exception {0}: {1}",id.ToString(),e.Message));

  23:  

  24:     throw new FaultException<string>(e.Message, new FaultReason(

  25:                     new FaultReasonText("SyncService unavailable. Contact SyncService support.")),

  26:         FaultCode.CreateSenderFaultCode(id.ToString(), "urn:synccomm.com/2009/07/ISyncService"));

  27:  

  28: }

Capturarlos desde la aplicación .NET Compact Framework como exepción del tipo CFFaultSyncException, dejando los tipos CommunicationException y Exception, para excepciones relativas a la comunicación y otros tipos de excepciones, respectivamente.

   1: catch (CFFaultSyncException faultEx)

   2: {

   3:     Cursor.Current = Cursors.Default;

   4:     

   5:     //

   6:     MessageBox.Show(string.Format("FaultCode: {0}rnFaultReason: {1}rnHasDetail: {2}", 

   7:         faultEx.FaultCode, faultEx.FaultMessage, faultEx.HasDetail));

   8: }

   9: catch (CommunicationException communicationException )

  10: {

  11:     //is the emulator cradled? does it reach SyncService endpoint?

  12:     MessageBox.Show(communicationException.Message);

  13: }

  14: catch (Exception e)

  15: {

  16:     //something is not configured properly

  17:     MessageBox.Show(e.Message);

  18:     //HResult -2146233087 maybe database must be reinitialize

  19:  

  20: }

De forma que podemos mostrar un mensaje más amigable por pantalla mientras registramos el error técnico (opcional) para su posterior estudio. Además, todas las excepciones (representadas por la clase CFFaulSyncException) tienen un identificador único (System.Guid) lo cual permite registrar dicha excepción tanto en el servidor como en el cliente:

Si deseáis información más detallada aquí.

Corregidos algunos Bug

Como toda nueva versión, se han corregido varios Bugs, tanto registrados desde el site del proyecto como encontrados durante el proceso de desarrollo. El más significativo es el encontrado en los scripts.sql de generación del esquema de seguimiento de modificaciones para bases de datos que utilizan mecanismos de seguimiento personalizados.

Mas flexibilidad en el uso de las propiedades de los enlaces para HttpBinding y CompressedBinding.

Una de las peticiones de algunos desarrolladores fue la posiblidad de incrementar el tamaño máximo del mensaje, el cual se realiza a través de una de las propiedades del enlace. Como tal, se han creado dos métodos en  ClientBase.cs los cuales gestionan todas las propiedades relativas los enlaces de la comunicación con WCF. En el siguiente ejemplo podemos ver uno de ellos. Básicamente se agrupa en un mismo método la forma en la que se va crear el enlace al canal de comunicación expuesto por WCF, de forma que la simple modificación de las propiedades como MaxReceiveMessageSize para el enlace de compresión se concentran en un único método. Lo mismo sucede para el enalce básico mediante HttpBinding.

   1: //NOTE:

   2: //set compressed endpoint binding custom properties here

   3: public static System.ServiceModel.Channels.Binding CreateCompressionBinding()

   4: {

   5:     // Create a CustomBinding

   6:     var customBinding = new CustomBinding();

   7:     // Create a compression binding element

   8:     var compressionBindingElmnt = new CompressionMessageEncodingBindingElement();

   9:     // ..and add to the custom binding

  10:     customBinding.Elements.Add(compressionBindingElmnt);

  11:     

  12:     // Create an HttpTransportBindingElement and add that as well

  13:     var httpBindingElement = new HttpTransportBindingElement();

  14:  

  15:  

  16:     //TODO

  17:     //Set here desired values. Take care to match such values 

  18:     //in app.config in SyncComm host project

  19:     //max buffer size

  20:     //httpBindingElement.MaxBufferSize = int.MaxValue;

  21:     //max received message size

  22:     //httpBindingElement.MaxReceivedMessageSize = long.MaxValue;

  23:     //max buffer pool size

  24:     //httpBindingElement.MaxBufferPoolSize = long.MaxValue;

  25:  

  26:     customBinding.Elements.Add(httpBindingElement);

  27:             

  28:     return customBinding;

  29:             

  30: }

Por consiguiente y debido a que en versiones anteriores estos objetos se instanciaban desde la aplicación .NET CF Windows Form(AppMobileSync) y ahora han pasado al la librería (también .NET CF) SyncComm.Proxy.dll se ha aprovechado para que la instanacia del objecto SyncComm.Proxy.ServiceClient sea mas sencilla desde AppMobileSync. Ahora únicamente debemos indicar la dirección del EndPoint y su respectivo “tipo de enlace”. Dicho “tipo de enlace” se representa mediante el enumerador:

   1: namespace SyncComm.Proxy

   2: {

   3:     /// <summary>

   4:     /// Specify constants defining which endpoint binding to use

   5:     /// </summary>

   6:     public enum BindingType

   7:     {

   8:         /// <summary>

   9:         /// Use basic endpoint binding

  10:         /// </summary>

  11:         Basic,

  12:         /// <summary>

  13:         /// Use compressed endpoint binding

  14:         /// </summary>

  15:         Compressed

  16:     }

  17: }

 

Y por lo tanto la instancia de un objeto SyncComm.Proxy.ServiceClient será tan sencillo como:

   1: //NOTE: For compressed endpoint binding use this

   2: var endPoint = new EndpointAddress("http://10.0.2.15:9999/SyncService/GZip");

   3: var s = new ServiceClient(endPoint, BindingType.Compressed);

   4:  

   5: //NOTE: For basic endpoint use this

   6: var endPoint = new EndpointAddress("http://10.0.2.15:9999/SyncService/Basic");

   7: var s = new ServiceClient(endPoint, BindingType.Basic);

 

 

En lugar de como se hacía en versiones anteriore:

   1: // Create a CustomBinding

   2: var customBinding = new CustomBinding();

   3: // Create a compression binding element

   4: var compressionBindingElmnt = new CompressionMessageEncodingBindingElement();

   5: // ..and add to the custom binding

   6: customBinding.Elements.Add(compressionBindingElmnt);

   7:  

   8: // Create an HttpTransportBindingElement and add that as well

   9: var httpBindingElement =

  10:                     new HttpTransportBindingElement();

  11: customBinding.Elements.Add(httpBindingElement);

  12: // Set endpoint

  13: var endPoint = new EndpointAddress("http://10.0.2.15:9999/SyncService/GZip");
://10.0.2.15:9999/SyncService/GZip");

  14: #endregion

  15:  

  16: // Create the WCF proxy using the custom binding

  17: var s = new ServiceClient(customBinding,endPoint);

Modificados los namespace

Por último, se han modificado todos los namespace de los contratos WCF que antes eran inexistente. Ahora todos pasan a ser urn:synccomm/07/2009.

Dispositivo Windows Mobile 6.5 a partir del 6 de octubre

Ya es oficial. Apartir del 6 de octubre empezaran a ver la luz la nueva «saga» de dispositivos Windows Mobile 6.5.

Se trata de la nueva versión anunciada en el pasado Mobie World Conference del pasado mes de febrero que tuvo lugar en Barcelona, junto a la nueva propuesta de Microsoft para el mercado de aplicaciones, Microsoft Marketplace, el cual ya se encuentra abierto a registros de nuevas aplicaciones.

Por lo que a España y Latino América respecta, las operadoras de telefonía móvil que ofrecerán estos nuevos dispositivos serán Orange y Vodafone en España y TIM Brasil así como fabricantes como HTC, LG Electronics, Samsung, Acer, Toshiba y Sony Ericsson los cuales lanzaran nuevas versiones de sus ya conocidos dispositivos como el Touch Diamond 2, Touch Pro 2, Omnia, etc.

 

 

¡¡¡Participa en el CodeCamp Tarragona 2009!!!

=logo500

Miembros y coordinadores de los grupos de usuarios Second NUG, Spain.NET, LoNetCamp, Andorra.NET, BCNDEV.NET y CatDotNet hemos unido nuestras fuerzas en la organización conjunta de un codecamp que se llevará a cabo los dias 17 y 18 de octubre en Vila-Seca, Tarragona.

Con más de tres meses de trabajo a nuestras espaldas, y con la colaboración de Microsoft Ibérica, vamos a llevar a cabo dos días de charlas didácticas siguiendo el manifiesto codecamp: sesiones hechas por la comunidad hacia la comunidad.

Como novedad, CodeCamp Tarragona 2009 incluirá un track específico de MONO con lo que durante el fin de semanas podremos intercambiar opinones y experiencias entre las comunidades MSDN y MONO de toda España sobre la tecnología .NET.

 

 

 

 

Si estáis interesados:

Seguiremos informando!!!sticker

[SyncComm] Componentes WCF de comunicación para Sync Services for ADO.NET for devices

Dentro de los requisitos que debemos tener en cuenta en el desarrollo de soluciones de sincronización de datos para plataformas Windows Mobile utilizando los servicios  Sync Services for ADO.NET 1.0 SP1 se encuentra la comunicación entre el propio dispositivo móvil,  donde albergamos tanto el agente de sincronización como el proveedor de sincronización local, y el servidor dónde reside el proveedor de sincronización remoto el cual exponemos a través de un servicio Web o WCF. 

Para el uso de WCF en .NET Compact Framework, el equipo de desarrollo de Microsoft Sync Framework publicó en su blog unos trucos para la configuración de este tipo de aplicaciones. En dicho post se describen los puntos que se han de seguir para la correcta exposición de un proveedor remoto en WCF.

A partir de esa idea, empecé a desarrollar unas librerías de forma que pudieran ser reutilizadas y sirvieran, a su vez, como punto de partida para todos aquéllos interesados en este tipo de aplicaciones. Dichas librerías se encuentran bajo el proyecto SyncComm y pueden ser descargadas, código abierto, desde CodePlex.

SyncComm es un proyecto que cuenta además con la colaboración de Cesar Fong y el cual pretende ser un punto de partida, como dije anteriormente, para el desarrollo de soluciones de sincronización para dispositivos móviles. Este proyecto viene acompañado de una aplicación muy básica de ejemplo y por el momento SyncComm está en fase Beta, esperando poder aportar otras características interesantes como la seguridad o la gestión de excepciones, entre otras. Seguiremos informando. ;-))

 

SyncComm [http://synccomm.codeplex.com]

Purposes

SyncComm is intended to be used as starter point with Sync Services for ADO.NET 1.0 for devices. SyncComm shows how to implement the WCF communication layer based on Microsoft Sync Framework team’s tips. See: http://blogs.msdn.com/sync/archive/2008/07/14/using-wcf-for-communcation-in-a-mobile-sync-application.aspx

Technologies

Related Resources

SyncComm: Projects descriptions

Basically, SyncComm has two projects for both client (WCF Service Proxy) and server (WCF Service) sides. Moreover, a Service Host Console for hosting WCF Service, DbServerSyncProvider demo project and Windows Forms application for Windows Mobile 5.0 is provided (it also works over Windows Mobile 6.0, Windows Mobile 6.1 and Windows Mobile 6.5).
SyncComm.png
Image1.- SyncComm architecture

SyncComm projects

  • SyncComm.Services: contains the WCF Service definition (ISyncService) needed for any solution based on n-tier Sync Services for ADO.NET. This project may be used for your own project by adapting remote provider application class to your database schema and requirements. (See Customizing SyncComm components for your own project below)
  • SyncComm.Services.Host: hosts WFC Service into basic Console application. It could be replaced by either IIS, WinForms app, Windows Service or WAS.
  • SyncApp.RemoteProvider: This project contains the remote sync provider class for SQL Server database sample as well as AppRemoteProvider helper class that simplify DBRemoteProvider extended class. However, the purpose of this class is to get familiarized with this kind of solution. Is strongly recommended you use your own approach according to Microsoft guidelines you would find on Sync Service for ADO.NET 1.0 SP1 library.
  • GZipEncoder: Optional. Not provided within SyncComm. Necessary for WCF Compression. See Related Resources above.

SyncApp projects

  • SyncComm.Mobile: This class library (targeted on Windows Mobile 5.0 SDK) contains WCF Service proxy class. It could be used in others projects as is, without additional modifications whether no changes are applied on SyncComm.Service.ISyncService service contract.
  • AppMobileSync: This Windows Form Application consumes the WCF Service through such proxy exposed in SyncComm.Mobile. This application demonstrates how to hand a couple of sync tables in bidirectional and uploadonly modes.
  • Microsoft.Samples.Indigo.GzipEncoder: Optional. Not provided within SyncComm. Necessary for WCF Compression. See Related Resources above

Database

Database schema used in this project is based on script you would find in Microsoft Sync Framework “How to’s” library’s topics. It only contains a couple of tables for demonstrating bidirectional and uploadonly sync modes.
Note that three database four files are provided within SyncApp.RemoteProvider project.

  • database schema.sql: Creates a database named wcfSyncSamplesDb, and a couple of tables named Sales.Customer and Sales.CustomerContact.
  • enablingChangeTracking.sql: These scripts enable Change Tracking for wcfSyncSamplesDB database and for Sales.Customer and Sales.CustomerContact with default 2 days retention.
  • enablingCustomTracking.sql: Configures both tables in order to provide a custom change tracking for non SQL Server 2008 data providers.
  • testData.sql: Populates Sales.Customer and Sales.CustomerContact tables.

Setting up solution

For getting started the solution you may follow next steps.

  1. Create database and database objects. Execute database file scripts in the following order.
    1. Execute database schema.sql for creating database and objects.
    2. Execute either enablingChangeTracking.sql or enablingCustomTracking.sql depending on what change tracking type your application will run at.
      1. enablingChangeTracking.sql for SQL Server 2008.
      2. enablingCustomTracking.sql for others.
    3. Populate Sales.Customer after change tracking is enabled by executing testData.sql.
  2. Change database connection string on SyncApp.RemoteProvider -> Settings.settings. (See Image 2)
  3. Set your local IP/host name in app.config file from SyncComm.Service.Host project. (See Code 1)
  4. If you wish to use Compression make sure both client and server related GZipEncoder project are referenced.
  5. Set ISyncServices base endpoint address up in AppMobileSync project. (See Code 2 Method SyncNow in Form1.cs)
  6. Recall to cradle your emulator/device and make sure it reaches endpoint address from IEMobile. Configure your Windows Firewall appropriately for enabling incoming calls for specified port. (Default port 9999). This also could be useful http://msdn.microsoft.com/en-us/library/ms733768.aspx
  7. Execute both SyncComm.Service.Host and AppMobileSync apps. (See Image 4)

ProjProperties.png
Image 2.- Database Connection String

      <service behaviorConfiguration="ISyncServiceBehavior" name="SyncComm.Service.SyncService">
<endpoint address="Basic" binding="basicHttpBinding" name="BasicEndPoint"
contract="SyncComm.Service.ISyncService" />
<endpoint
address ="/GZip"
binding="customBinding"
bindingConfiguration="BufferedHttpSampleServer"
bindingName="BufferedHttpSampleServer"
contract="SyncComm.Service.ISyncService"/>
<host>
<baseAddresses>
<!-- Set here Service Host name/IP -->
<add baseAddress="http://10.0.2.15:9999/SyncService" />
</baseAddresses>
</host>
</service>
</services>

Code 1.- app.config file from SyncComm.Service.Host project.

// Create a CustomBinding
var customBinding = new CustomBinding();
// Create a compression binding element
var compressionBindingElmnt = new CompressionMessageEncodingBindingElement();
// ..and add to the custom binding
customBinding.Elements.Add(compressionBindingElmnt);

// Create an HttpTransportBindingElement and add that as well
var httpBindingElement =
new HttpTransportBindingElement();
customBinding.Elements.Add(httpBindingElement);
// Set WCF Service hosted name/IP endpoint *here*
var endPoint = new EndpointAddress("http://10.0.2.15:9999/SyncService/GZip");

Code 2.- Method SyncNow in Form1.cs
ServiceHost.jpg
Image 4.- Service Host Console Application

Customizing SyncComm components for your own project

  1. Configure your database appropriately. Take a look at the following link for further information. http://msdn.microsoft.com/en-us/library/bb726006.aspx NOTE: Modify uspGetNewBatchAnchor Stored Procedure for validating CHANGE_TRACKING_MIN_VALID_VERSION for your own tables._
  2. Create your own Remote Sync Provider class (DBRemoteProvider). Keep in mind sync modes you would need to use for each table. You may use AppRemoteProvider class but is strongly recommended using custom Stored Procedures instead of sentences generated by SyncAdapterBuilder class.
  3. Host SyncService on well-known IP address and pass it on SyncClient class constructor, in the client side. You may use other Service Host platform instead of console app provided by this sample.
  4. If you need to configure binding behavior take in care WCF limitations for .NET Compact Framework.
  5. Refer SyncComm.Mobile.dll assembly from your .NET CF application. Configure SyncAgent at your own discretion but don’t forget to set up the tables with the sync modes you configured on server side before.

IMPORTANT: This sample is provided «as is», without warranty of any kind, express or implied. Suggestions, comments or whatever are welcomed at Discussion Pane

Más Windows Mobile 6.5: el turno para los Widgets!!

Aprovechando la presentación de los emuladores de Windows Mobile 6.5, Jorge Peraza (Microsoft Corp) ha publicado un intersantísimo post sobre el desarrollo de widgets en el blog del equipo de desarrollo de Windows Mobile.

Es importante que sigáis punto por punto lo que explica Jorge y evidentemente sobre los nuevos emuladores de Windows Mobile 6.5. El ejemplo es muy básico pero suficiente para empezar con el desarrollo de este tipo de aplicaciones. Destacar que los widgets son aplicaciones HTML (además de  javascript, XSL,..) y la facilidad de despliegue mediante comprensión de la aplicación en un ZIP.

A disfrutarlo!!!

PD: El enlace al post de Jorge. Gracias José Antonio!!!

Visual Studio 2010 + Windows Mobile + .NET Compact Framework

Tras la tan esperada Beta 1 de Visual Studio 2010 muchos de vosotros habéis podido apreciar que NO existe soporte de proyectos para dispositivos Windows Mobile. Lo cierto es que tras la decepción inicial acompañada de la poca información y ausencia de una postura oficial por parte de Microsoft, ahora sí,  Microsoft  ha publicado de forma oficial en MSDN lo siguiente:

[Traducción del ingés]

«Microsoft está comprometido en hacer de Visual Studio una potente herramienta de desarrollo para el desarrollador de dispositivos móviles,  y por tanto Visual Studio 2010 ofrecerá  soporte para el desarrollo de dispositivos móviles, pero no se pueden ofrecer detalles al respecto, en estos momentos. Para los actuales desarrolladores de dispositivos móviles en Visual Studio 2008, Microsoft ofrecerá un emulador de Windows Mobile 6.5 que trabajará junto a los existentes SDK de Windows Mobile 6.»

Mola ¿no? 😉

 

 

[CatDotNet]: Microsoft TFS en Igualada con Luis Fraile

IMAGE_047Pues una vez más se celebró, el pasado viernes 22 de mayo, una nueva reunión del grupo de usuarios de la Calatuña Central, CatDotNet, y en esta ocasión le tocó el turno a Team Foundation Server de la mano de uno de los mayores expertos del tema, Luis Fraile.

Como viene siendo habitual en las reuniones de CatDotNet, pedimos a Luis que tratara de enfocar el evento desde un punto de vista práctico y básico, como si de vender las características del producto se tratara y lo cierto es que lo consiguió, como era de esperar, con creces.

Además de compartir unas cuantas fotos, queremos aprovechar para agradecerle el viaje que hizo desde Madrid con coche y esperamos que disfrutara de la zona durante todo el fin de semana y, por supuesto, abrirle las puertas a futuras participaciones con CatDotNet.

 IMAGE_049