Lohnt es sich für WP7 zu programmieren?

V

val9000

Gast
Hi,

Als Entwickler scheue ich mich gerade etwas vor Windows Phone.
Mit Cocos2D kriege ich Apps auf Android+iPhone, aber kein Windows Phone, da es dort angeblich kein C++ gibt.

Ich wollte mal fragen, falls es hier einige Entwickler gibt, die fürs Windows Phone programmieren, ob es sich lohnt auch dieses System noch mit reinzunehmen, bzw. ob es irgendwelche Tools etc. gibt, die mir eine Portierung leichter machen von iOS -> Windows Phone oder Cocos2D -> Windows Phone.

An sich interessiert mich das System sehr, da mir das futuristische Design gefällt und die Art wie man die Apps drauf entwickeln kann.

Ich würde dann das iPhone oder WP7 als Geschäftsgerät nutzen und das jeweils andere für den Privatgebrauch, ein WP7 mir jedoch eher für die Entwicklung anschaffen.
 
Zuletzt bearbeitet:
WP7-Apps schreibt man in C# (und XAML), C++ gibt es da in der Tat nicht.*

Es soll eine Art Konverter geben, mit dem man iOS-Anwendungen nach WP7 portieren kann: Klick.
Schau mal, ob das was für dich ist.


*Wenn ich so überlege, bei .Net ist es eigentlich egal, welche Sprache man verwendet, da ja alles in CIL übersetzt wird. Rein theoretisch sollte man auch in Visual C++ Apps für WP7 schreiben können. Wenn ich aber ein Silverlight-Anwendung-für-mobile-Geräte-Projekt in Visual Studio erstelle, schwenkt er automatisch auf C# um. Hm...
 
Zuletzt bearbeitet:
Solange es Cocos2D nicht als WP7-Engineversion gibt kannste es knicken mit der Portierung.

WP7 unterstützt generell nur Silverlight-Anwendungen und Spiele die mit dem XNA Game Studio von Microsoft entwickelt wurden. Natives C++ gibts nicht. Es mag sein, dass es für einige Hersteller und Geräteproduzenten in Sachen Programmierung Ausnahmen gibt, aber für normale Entwickler nicht.

Portieren könntest du das also erst wenn Cocos2D als eine Art XNA Game Studio Add-In verfügbar wäre.
 
Ein solchen Konverter soll es glaub auch für Android --> WP7 geben.
Insgesamt sollte der Aufwand also überschaubar sein. Ich denke, dass WP7 langfristig die 3. große Macht bei den Smartphones wird. Von daher wird es sich wohl schon lohnen.

Hab leider von Programmieren nicht viel Ahnung, hab aber mal mit ner Anleitung angefangen mir ein paar Grundlagen anzueignen. Die Tools (Visual Studio etc. meine ich) machen einen sehr guten Eindruck und waren auch für mich gut verständlich. Hab leider aus Zeitgründen dann nicht mehr weiter gemacht...
 
Da ich z.Z. noch reiner iOS-Entwickler bin finde ich das wirklich interessant.
Ich programmier z.Z. an einem kleinen Minigame und könnte dieses dann (da das Game ohnehin so gut wie nichts großartiges kann und deshalb kostenlos sein wird) sicherlich leicht nach WP7 portieren.
Dann müsste ich mir wohl mal auf den Mac noch Parallels mit Windows drauf schmeißen oder mit Bootcamp.
 
Also wenn man bedenkt, dass mit Windows 8 die Programme ja fast kompatibel gegenseitig sind, kann man auf diesen Bereich zumindest ein Auge behalten.

Laut einem Bericht den ich gelesen hab bedarf es 5Zeilen Code um eine Windows8 Anwendung Windows Phone kompatibel zu machen. Da Windows 8 auch einen Appstore beinhalten wird, erschließt sich dadurch doch ein recht großer möglicher Kundenkreis.


Bedenken musst du allerdings, dass du eine "Entwicklerlizenz" in Amerika beantragen musst. Kostenpunkt knapp ~80€/Jahr wenn ich mich recht erinnere.
 
Das mit der Entwicklerlizens war ohnehin klar, die 80€/jahr sind nix finde ich.

Gerade mit Windows 8 und den Tablets (habe dort 2 große Projekte) könnte ich wirklich ne riesige Zielgruppe ansprechen, besonders die Gamer.
 
Zuletzt bearbeitet:
99$ betragen die Kosten im Jahr. Keine Ahnung, was das in Euro ist.

Windows-Anwendungen lassen sich nicht ganz so einfach nach WP7 portieren. Auf dem Phone läuft das .Net Compact Framework, eine abgespeckte Variante vom .Net Framework 4.0. Es sind leider nicht alle Funktionen übernommen wurden, was die Programmierung für WP7 teilweise echt kompliziert macht.

Was denkt ihr, was ich mir gestern für einen Ast abgebrochen habe, um herauszufinden, wie man unter WP7 eine Internetseite herunterladen kann (wollte an den HTML-Quellcode). O.o

.Net Framework 4.0
Code:
WebClient webClient = new WebClient();
responseTextBlock.Text = webClient.DownloadString("http://www.google.com");

.Net Compact Framework
Code:
var request = (HttpWebRequest)WebRequest.Create(
                new Uri("http://www.google.com"));
request.BeginGetResponse(r =>
{
    var httpRequest = (HttpWebRequest)r.AsyncState;
    var httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(r);

    using (var reader = new StreamReader(httpResponse.GetResponseStream()))
    {
        var response = reader.ReadToEnd();

        Deployment.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                responseTextBlock.Text = response;
            }));
    }
}, request);
WTF? Warum so umständlich?
 
Zuletzt bearbeitet: (Typos)
Beim iOS ist das auch nicht gerade viel anders, da fehlen auch viele sachen, die bei Mac OSX normal sind.
Das schlimmste ist, ich kann beim iOS nicht mehr das Gerät ab iOS5 identifizieren.
Die Firma bei der ich arbeite benötigt eine IMEI oder MAC addresse für die Firmeninternen dinge und eine Registrierung mit Username und Password wäre keine Lösung, da nur Firmen registriert sind mit einer Vielzahl an Geräten.

Gibts bei Windows Zugang zur MAC Addresse oder irgendeinen unique identificator für jede Hardware?

Dann müsste ich nur noch das Weihnachtsgeschäft abwarten und hol mir ein Gerät und portier dann schonmal meine erste Miniapp.

Gibts ein ähnliches Tool auch von iOS nach Android?

Weil es wäre sicher etwas umständlich von Cocos2 dann nach WP7 usw., dann würde ich lieber eine Plattform als Entwicklungsplattform nehmen und in die anderen mittels Tools portieren
 
Zuletzt bearbeitet:
Es gibt zwei Möglichkeiten:

A) User identifizieren:
string anid = UserExtendedProperties.GetValue("ANID") as string;
string anonymousUserId = anid.Substring(2, 32);
Das verlangt, glaub ich, dass der User einen Live-Account hat und der mit dem Handy verknüpft wurde. (Angabe ohne Gewähr.)

B) Gerät identifizieren
byte[20] uniqueId= DeviceExtendedProperties.DeviceUniqueId;
 
Sehr gut.
Da wird mein Chef sich aber freuen ;)

Werde mich da wohl für ein Windows Phone entscheiden.
Hab mir noch paar Tools angeschaut. Alleine vom Design her würde das stock windows phone UI bereits perfekt auf eine App von mir passen.
 
Zuletzt bearbeitet:
Lade dir einfach mal das Visual Studio 2010 Express for Windows Phone und dazu noch die Windows Phone Developer Tools herunter (beides kostenlos). Damit kannst du bereits Apps entwickeln und auf einem mitgelieferten Phone Emulator testen. So findest du am besten heraus, ob das die richtige Sache für dich bzw. deine Firma ist.

Gerade XAML ist doch ziemlich gewöhnungsbedürftig, wenn man mit Windows Presentation Foundation noch nie etwas zu tun hatte.
 
Ich gewöhne mich sehr schnell an Dinge bzw auch das Einarbeiten.
Meine Firma ist ohnehin daran interessiert ihre App auf alle Geräte zu portieren.
Der Vorteil für mich (da ich hauptsächlich Spieleentwickler werden will) ist natürlich ohnehin XBox Live etc, was könnt ihr mir darüber erzählen?
Normal müsste man ja denken, dass WP7 am geeignetesten für Spieleentwickler sein müsste.
 
Ich kann dir leider nicht so viel über XBox Live erzählen.

Das ist ein App Hub, in dem die installierten Spiele angezeigt werden, man nach neuen Spielen suchen kann und sich News anzeigen lassen kann (zB neue Apps). Erfolge und Speicherstände lassen sich, glaub ich, auch hochladen. Des weiteren kann man sich einen 3D-Avatar erstellen, aber wofür der gut ist, ist mir nicht klar geworden. Allerdings kann man Kleidung für ihn kaufen. O.o Außerdem kann man darüber auch Freunde zu Spielen einladen (Multiplayer?).
Spiele erstellt man wohl am besten mit XNA. Da sind dann auch 3D-Spiele möglich (Akku-Sauger!), und es werden viele Funktionen mitgebracht, die für Programmierer einfach nützlich sind. Damit habe ich allerdings auch noch keine Erfahrung gemacht. (Einfach keine Zeit dafür gehabt.)
 
e-Laurin schrieb:
WTF? Warum so umständlich?

Weil wie bei silverlight solche operationen immer asynchron ausgeführt werden müssen(was ich in dem Fall sowieso immer machen würde). Der code ist ja wie bei jeder anderen asynchronen Operation. Der Code funktioniert auch 1:1 in einer normalen C# desktop Anwendung. Find ich nicht wirklich umständlich.
XAML ist wirklich viel, aber auch sehr mächtig und hat extrem viel potential. Ich kann dir nur empfehlen dich mal dran zu setzten.
 
Zuletzt bearbeitet:
Mir hätte es gereicht, wenn etwas in dieser Richtung angeboten würde: (Pseudocode)

WebRequest wc = new WebRequest("http://www.google.de");

while (!wc.DowloadComplete)
{
// warte oder mach sonst was
}

string text = (string)wc.DownloadedContent;
Das wäre völlig i.O. und auch asynchron gewesen.
 
val9000 schrieb:
Ich programmier z.Z. an einem kleinen Minigame und könnte dieses dann (da das Game ohnehin so gut wie nichts großartiges kann und deshalb kostenlos sein wird) sicherlich leicht nach WP7 portieren.

val9000 schrieb:
Meine Firma ist ohnehin daran interessiert ihre App auf alle Geräte zu portieren.

Eventuell auf Basis von HTML5 Canvas bauen? Die Performance ist mittlerweile gut und du hast keinen Aufwand es auf die restlichen Smartphones zu portieren.
Ist zwar ein wenig mehr Low-Level als Cocos2d, aber eventuell gibt es auch da gute Game-Engines, keine Ahnung.
 
Zurück
Oben