Get it on Google Play

C#, Mono i Windows Mobile

11-06-2008
 

Ahir vaig estar provant el tema del desenvolupament de software amb C# i Mono per correr sobre Windows Mobile. Aquí les peripècies:

Primer de tot s’ha de crear el Hola Mundo(hello.cs):

using System;
using System.Drawing;
using System.Windows.Forms;

class MyForm : Form {
    Label Label1;

    public MyForm() {
        Label1 = new Label();
        Label1.Text = “Hello World”;
        Label1.Location = new Point(30,30);

        this.Text = “Hello World”;

        this.Controls.Add(Label1);
        }

    public static void Main() {
        Application.Run(new MyForm());
        }
    }

Compilem “mcs /d:WINCE /t:winexe /r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /out:hello.exe ./hello.cs” i ja tenim l’executable que funciona en Windows i sobre Mono.

El problema(Amb tecnologia Microsoft sempre hi es) esta a l’hora que el vols fer executable per la PDA. Has de modificar la firma de l’executable perquè funcioni sobre una “.Net compact Framework”.

Per a modificar la firma d’un executable normal existeix aquest programilla cf-cecil-patcher que s’ha de compilar amb les llibreries cecill del mateix creador.

Un cop tenim el “cf-cecil-patcher.exe” li modifiquem la firma al executable “mono ./cf-cecil-patcher.exe hello.exe” i ja tenim el nostre “Hello World” per a PDA.

Conclusions

El C# com a llenguatge es bo. Però no te res que no tingui Java i Java es Software Lliure i te una gran comunitat al darrera.

Les Aplicacions amb .Net corren molt mes ràpides sobre Windows Mobile que amb Java.

La portabilitat a diferents plataformes de les aplicacions .Net no esta gaire ben aconseguida.

No se com es portaran les aplicacions .Net amb altres plataformes com la nova Android, sistemes operatius basats en Linux en General i sistemes embeded. Per a telèfons mòbils crec que te una portabilitat nula directament.

 

Leave a Reply