Language being used for applications - Windows Mobile Development and Hacking General

I've been developing enterprise applications for over a decade now, but PPC Development is totally new for me. I'm curious to know what language most PPC developers use to build their applications? Is it common to develop using Mobile .NET or are most of the applications developed in C++?
I really want to get involved, as there are applications I would like to write, but I'm struggling to find a starting point.
I want to develop a finger friendly application like the SPB Mobile Shell, and I assume I will have to use C++ and animations to ge the desired functionality? Any help is greatly appreciated.

The simplest way to start is using the .NET platform.
Its main languages are Visual C# and Visual Basic.
The main advantage is that those two languages are simple (the C# is close to the Java language) and secure in terms of memory management, but they also are slow, because the compiler creates managed code, just like the java compiler does.
I've tried to do some small apps using C#, and it's really entertaining and "simple". The problem is that you need the Microsoft Visual Studio IDE, which is not free, unless you use a free version, the Visual Studio Express IDE, but I'm not quite sure that it works to dev on a PPC.
As far as I know, there is a way to do unmanaged code, using C++ I guess, which is much faster. I don't know how to program in C++ for a PPC, and I'm also interested, as the few apps that I made in C# were really slow.
Good luck !

ErGo_404 said:
The simplest way to start is using the .NET platform.
Its main languages are Visual C# and Visual Basic.
The main advantage is that those two languages are simple (the C# is close to the Java language) and secure in terms of memory management, but they also are slow, because the compiler creates managed code, just like the java compiler does.
I've tried to do some small apps using C#, and it's really entertaining and "simple". The problem is that you need the Microsoft Visual Studio IDE, which is not free, unless you use a free version, the Visual Studio Express IDE, but I'm not quite sure that it works to dev on a PPC.
As far as I know, there is a way to do unmanaged code, using C++ I guess, which is much faster. I don't know how to program in C++ for a PPC, and I'm also interested, as the few apps that I made in C# were really slow.
Good luck !
Click to expand...
Click to collapse
I'm guessing that applications like SPB Mobile Shell is developed in C++. I just don't see how it could be .NET code. I was sort of hoping, considering this is a developers forum, that there would be a better response to this thread; however the overwhelming feeling I get is that the 'new' people aren't cool enough to share information with.

devikta said:
I'm guessing that applications like SPB Mobile Shell is developed in C++. I just don't see how it could be .NET code. I was sort of hoping, considering this is a developers forum, that there would be a better response to this thread; however the overwhelming feeling I get is that the 'new' people aren't cool enough to share information with.
Click to expand...
Click to collapse
I feel your pain but best suggestion I can give to you is there is icontact app for which author have released source code (Thank you very much for that) . Look at the code and try to understand and see where you can get with it.
I started using visual studio IDE but I was running in to issue with the IDE itself, good luck to you.

Related

Do I have to use Visual C++?

Hi there,
I'd like to do some Windows Mobile development but, quite frankly, I do not have the time or energy to learn Visual C++.
I'm good with Perl, PHP and Visual Basic and au fait with Windows Mobile - so the concepts of development on this platform aren't an issue. It's just simply a case of learning C++ does not fill me with any kind of excitement.
I looked at eVB, but its ancient and lacking in many respects. I thought about Visual Basic .NET but there appears to be no documentation around - you can't even buy a book on Windows Mobile development with it.
Any suggestions on something I can use which doesn't have a steep learning curve and allows me to get on writing useful things without spending the next 2 years learning dull stuff?
Thanks.
any of the c languages would be the best as they are native to winmo. you can use vb.net and it will work just fine. i have developed a few simple apps with vb.net and am working on one now i hope to release on here when i am finished. i am in the process of furthering my knowledge of vb.net and also learning asp.net, ado.net and c++ so i am very busy with programming. i would recommend learning one of the c languages if you really want to get in depth with winmo programming but like i said vb.net will work just wont be the best.
ps if you are comfortable with vb.net learning c++ should not be that difficult for you.
When you're using .net it doesn't matter if you use vb.net, visual c++ or any other .net language because eventually you'll end op with MSIL (Microsoft Intermediate Language). All .net languages are equally fast (except vb.net when you use the old visual basic namespace, so don't use it!)
"Visual Basic .NET"
.net compact framework is pretty well documented
come to think of it all msdn's examples are first vb.net
then c#.net and then c++.net and maybe j# or jscript.net
so plenty of documentation in that department
c# is not that hard if you know java it's much of the same
but if what you wanna do is pretty "basic" then mortscripts goes along way

Want to learn to program for Windows Mobile

Let's say I have lots of free time, am a pretty smart guy, and am infatuated with my Windows Mobile device. I am a veterinarian, and know next to nothing about programming, except how to meddle with other people's PHP or javascripts. I know HTML pretty well, and have some experience with basic Flash ActionScript. Can someone help me start learning how to program for Windows Mobile?
I need to know:
1) Some good beginner's books
2) Software to start off with (free stuff preferred)
3) Good websites to check out
Can you help?
I'm no programmer, but have wanted to dabble. From what I can tell, lots of folks use embedded visual c++ to program WM apps. This is a free compiler you can download from Microsoft (search for evc++), but there's not a lot of MSDN articles or MS help in general with evc++ because they want to move you to the .net compiler ($$$). Good luck.
I found this http://www.basic4ppc.com/but haven't tried it. It seems to be like Visual Basic, which is easy to learn. Maybe someone here tried it and can comment on it?
I tried installing Embedded Visual C++ on my Vista machine, but ran into all sorts of problems with it crashing while trying to compile "Hello World!" any ideas?
In the meantime, I've downloaded and am using Visual C++ 2008 Express edition (free). Will that allow me to compile for Windows Mobile (.arm)?
Evb and Evc are old languages,actually most of the programmers are using .Net languages.
You need to install IDE Visual Studio then make a choice of the language you will use..
But I am not a programmer,someone else can redirect you better.
Good luck!
unapproachable2kx said:
Evb and Evc are old languages,actually most of the programmers are using .Net languages.
You need to install IDE Visual Studio then make a choice of the language you will use..
But I am not a programmer,someone else can redirect you better.
Good luck!
Click to expand...
Click to collapse
EVB might be old, but EVC uses C/C++ in the exact same fashion you would use it in Visual Studio 2008. The key for me, is to really think about what you want to do, and what you want out of programming.
If you want to develop a little app that does some simple computation, or things less graphical, and you really don't have a passion for developing, then plunge into .NET. It's easy, it's effective and it'll get the job done.
On the other hand, if you're getting into multimedia, and your heart is in with software developing, then I must stress that the C/C++ route is REALLY where you should be going. I must warn you though, if you're new to programming, don't expect to have things fired up and running in 10 mins. It will take time .
Just my 2-Cents,
Chad.
http://msdn2.microsoft.com/en-us/windowsmobile/bb264341.aspx
heres some videos that will help u get started!
ekw said:
http://msdn2.microsoft.com/en-us/windowsmobile/bb264341.aspx
heres some videos that will help u get started!
Click to expand...
Click to collapse
thanks guyz..i was also looking for this ...

Which language to take?

hi!
next time i wanna try developing diamond apps on my own.
a few years ago, i developed software for pocket pcs using eVC++ 3.0. so you can see i'm used to programming and c++. i also wrote some java-stuff for symbian mobiles, means i do know java too.
in this forum, i saw quite a lot of code-snippets using c#. it looks similar to java and c++, from what i can tell by now. i'm very curious about learning that language in order to write my own diamond applications. so here are my question to the developers:
- are there any limitations to c#? on a pocketpc, you could nearly do everything with c++ and the win api. but java was very limited.
- can i use native api functions?
- which language is the most used one, when it comes to winmobile developing?
- c# is microsoft, right? does it make sense, to learn "a ms specific" language, instead of reactivating and strengthening knowledge in c++ and/or java?
thanks a lot for your advice!
yours, hebbe
I don't know so much about developing....... but some friends of mine develop app for WM and use VisualStudio 2008....... In this package you can find some compilers and I think Visual C++ is the best tool for writing apps....... But I'm telling you.... I'm not a developer, I only give you some information about what I found out listening some friends.
Now it's up to you........ Have a good luck!!!
To answer your questions:
C# does have a lot of limitation on WinMo platform. There's a lot of functionality that is missing from managed .NET libraries on WinMo. There are additional libraries that you can use to gain some of that functionality back, like OpenCFNET.
You can use native api, but you have to create COM Interop wrappers to call them.
C++ is still the language of choice for WinMo development.
C# is part of Microsoft .NET framework. The reason you see a lot of people use it, even with all of the limitations in WinMo environment is that it's a very popular language that can be used for any aspect of development (i.e. windows forms, web, devices, etc.). C# is also kindda not "ms specific" language, since there's a Mono framework, that allows you to use C# and .NET on almost any platform, including Linuxs and Macs.
this isn't the place to ask questions, there is a Q&A section for that.
thank you

Fastest/Lightest way to code WinMo?

Hi,
I'm the author of a fairly popular j2me chat application, and I've been pondering making a native WinMo version for a while now. I've thought about a .net port, as it would probably be easiest, but all the .net programs I've used seem dead slow. Or am I totally off base with that?
Is there another environment I should look at as an alternative? Keep in mind, I don't have visual studio.
jonnycat26 said:
Hi,
I'm the author of a fairly popular j2me chat application, and I've been pondering making a native WinMo version for a while now. I've thought about a .net port, as it would probably be easiest, but all the .net programs I've used seem dead slow. Or am I totally off base with that?
Is there another environment I should look at as an alternative? Keep in mind, I don't have visual studio.
Click to expand...
Click to collapse
You can still stick with j2me, you'll just have to change a few things to make the program compatible with the java midlet managers for WinMo. You should read up on the Mildet Bible: http://forum.xda-developers.com/showthread.php?t=339579
Hope this helps
From testing open source apps and they ones I have made I found that C++ is faster and c# is easier but a little slower. I used c++ for along time but have moved on to C# and love it.
u can just develop in any .net language, then use tool like SmartAssembly to optimize and convert the code to binary.
jonnycat26 said:
Hi,
I'm the author of a fairly popular j2me chat application, and I've been pondering making a native WinMo version for a while now. I've thought about a .net port, as it would probably be easiest, but all the .net programs I've used seem dead slow. Or am I totally off base with that?
Is there another environment I should look at as an alternative? Keep in mind, I don't have visual studio.
Click to expand...
Click to collapse
Hello, I strongly recomend to use c++ for winmo dev.
cheers,
Hlov
The fastest and leanest method is C++, available in Visual Studio Professional, or as a standalone free download as Embedded C++ version 4. The development models are MFC, (Microsoft Foundation Classes), ATL (Active Template Library), or good old fashioned WIN32.
Of these WIN32 is the leanest, all the others, including .NET are wrappers around it. If you haven't used or seen WIN32 before, expect a pretty steep learning curve. Look at the Hello World example it generates, to try and figure out what the hell is going on. Basically you respond to WM_XXXXXX messages fired at your application by the operating system. Limit the main menu to two items, and WinMo 5/6 will display it correctly, with the main menu options either side of the keyboard/SIP icon, and accessible by the left and right menu buttons. Otherwise it will switch to a WM 2002/3 menubar, which you then have to click on to use.
If you want to go any lower down than this, you will need to brush up your ARM assembly language.
Unless you are developing graphics intensive applications, using c# is fine for applications. C++ is necessary if you are writing games and the like but the SLIGHT performance decrease is not that big of a deal otherwise.
Soul_Est said:
You can still stick with j2me, you'll just have to change a few things to make the program compatible with the java midlet managers for WinMo. You should read up on the Mildet Bible: http://forum.xda-developers.com/showthread.php?t=339579
Hope this helps
Click to expand...
Click to collapse
I'm using J2ME polish, so I can (and have) built a build specifically for WinMo, but I want a native version so I can multitask (can't do that with Esmertec) and I'd also like to develop a homescreen plugin.
My app is here:
http://www.buildhigh.com/jonnychat/
If anyone has any suggestions on what I should do with a port, I'd love to hear them.
stephj said:
The fastest and leanest method is C++, available in Visual Studio Professional, or as a standalone free download as Embedded C++ version 4. The development models are MFC, (Microsoft Foundation Classes), ATL (Active Template Library), or good old fashioned WIN32.
Click to expand...
Click to collapse
It's been a long time since I've done standard Win32 development, and I really don't plan on going back down that road again. For starters, I imagine Visual Studio would be a dog in a VM (I only run windows in a VM these days, won't run it on actual hardware if I can avoid it).
It's looking like I"m going to try C++ or C# for this. I'd like to do C# because that's pretty close to Java, but I also have moral qualms about using a language designed to usurp a good and popular language just because MSFT didn't develop it.
Decisions, Decisions....
You can also try using Ruby with the Rhodes framework: http://www.rhomobile.com/home
Or you can try using Mysaifu which may allow multitasking (haven't tried any of my programs on it yet): http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html

noob question: How to start programming?

Hi all,
Finally I've my HD2 and I must say, I'm very happy with it!
I'm no noob in informatics, I program in VB and VBA and I'm DBA in Oracle and SQL Server. But to be honest, I don't now how to start.
I tried searching the forum here, but couldn't find a thread: how to start programming on a WMO-device.
Thanks already for the info!
Koen
PS for example I would like to program this:
keyboard layout French (AZERTY)
T9 language Dutch
Koen D said:
how to start programming on a WMO-device.
Click to expand...
Click to collapse
You start programming for WM the same way you do it for Win32. Just download mobile SDK from Microsoft and you're good to go. You use the same IDE, Visual Studio, for mobile programming, and coding experience is the same, in addition to the fact that a lot of code using WinAPI will just work. There are differences of course with regard to memory management or power management etc., but those are either documented on msdn or are discussed at length everywhere on the web.
VB and .Net won't be good for your purpose though, you'd need native C++ code for things like rewriting a T9 engine I think.
Hey hey!
You can find many interesting postings and topics here:
http://forum.xda-developers.com/forumdisplay.php?f=522
http://forum.xda-developers.com/forumdisplay.php?f=260
There are much more. Please look for the "stiky" posts. There are often very usefull informations. Sure, the moderators open some stikys "just-for-fun"... ... but many topics are realy interesting.
Some external sites can help you, too:
http://developer.windowsphone.com/Default.aspx (of course)
and
http://www.smartphonedn.com/
you can became a part of the msdn (winmo special) here:
http://msdn.microsoft.com/en-us/windowsmobile/default.aspx
When you became a good dev. You should look for 3rd party stuff like:
http://www.resco.net/developer/default.aspx
For the beginning it should be enough.
regards
You can also program in mobile java, which will make your app portable to more devices.
http://java.sun.com/javame/index.jsp
Do you want to be a ROM chef, or programmer?
Or both ?
To just program for the Windows Mobile OS, you can
grab a (free) version of Microsoft Visual Studio 2010/2008
and download the WIndows Mobile development resource kit
from them.
Then you can blast away in C#, C or .NET
If you just want to cook ROM's then look at the kitchen thread.
Look at that thread anyway
Try Visual Studio, VB.NET and the Windows Mobile SDK there it is s
Hi mates, want to ask which is the best programming language for WM? C, C++, C#, VB.Net or something else. I did use C# a lot and can do little thing with SQL Compact. But, it seems lot of the current applications are not require .Net Framework installed on WM. Are they using C++?
Also, is there anything need to be considered for WM Web Programming (such as JavaScript, CSS support)?
siamchen said:
Hi mates, want to ask which is the best programming language for WM? C, C++, C#, VB.Net or something else. I did use C# a lot and can do little thing with SQL Compact. But, it seems lot of the current applications are not require .Net Framework installed on WM. Are they using C++?
Also, is there anything need to be considered for WM Web Programming (such as JavaScript, CSS support)?
Click to expand...
Click to collapse
yep. most WM apps use C++, but even the C# apps will run as most of the ROMs contain the .NET fw by default
I have a question as well, are there any free-for-freeware frameworks for touch-friendly applications? Is there a Sense SDK?
bayowar said:
I have a question as well, are there any free-for-freeware frameworks for touch-friendly applications? Is there a Sense SDK?
Click to expand...
Click to collapse
Microsoft has an SDK for 6.5's gesture support. I've not got around to using it yet though, so can't comment on it's quality or breadth of support.
Is there something I cant build using C only in this phones?
I mean can I build a complete rom, applications and such using only C?
thats the only lang I know so...
mr_Ray said:
Microsoft has an SDK for 6.5's gesture support. I've not got around to using it yet though, so can't comment on it's quality or breadth of support.
Click to expand...
Click to collapse
I've seen that, what about buttons, sliders, tabs, flickable lists and all this stuff though. I've never developed for a mobile platform and I'd imagine starting from scratch with all UI elements steepens the learning curve quite a bit.
siamchen said:
Hi mates, want to ask which is the best programming language for WM? C, C++, C#, VB.Net or something else. I did use C# a lot and can do little thing with SQL Compact. But, it seems lot of the current applications are not require .Net Framework installed on WM. Are they using C++?
Click to expand...
Click to collapse
There are pros and cons to using managed code (C#/VB), and the same holds true about native code (C++). The former is much easier for high-level tasks, but you get less control and it may get a bit tricky when you need to access WinAPI not included in .Net CF (although there are usually ways to do it via Platform Invoke). .Net applications start slower, which may be an issue for certain tasks. Native code is (should be) faster, but a bit more complex and you don't have things like automatic garbage collection and so on. Sometimes you need a couple of lines of code in C# instead of two dozen in C++. Sometimes not. On the other hand, writing something like a graphics-heavy game in C# would be a strange endeavor. Some things are outright impossible like writing a system service, AFAIK. All in all, the pros and cons are described at length everywhere, and it's up to you to decide.
bayowar said:
I have a question as well, are there any free-for-freeware frameworks for touch-friendly applications? Is there a Sense SDK?
Click to expand...
Click to collapse
In the Development and Hacking section you'll find a C# GUI framework (it's called Manila UI Framework or something like that) made by a fellow XDAer.
bayowar said:
I've seen that, what about buttons, sliders, tabs, flickable lists and all this stuff though. I've never developed for a mobile platform and I'd imagine starting from scratch with all UI elements steepens the learning curve quite a bit.
Click to expand...
Click to collapse
If you want non-standard UI elements it can get tricky. For standard UI it's a no-brainer. There are some third-party libraries available. In addition to the C# framework I mentioned earlier, there's Qt (a cross-platform UI framework used by Opera for all their desktop (Linux, Win and Mac) and mobile (WM and Symbian) and embedded platforms including TV set-top boxes) incarnations, Airplay SDK that's a cross-platform framework for Android, WM and iPhone, some others I can't recall right away. They may or may not be free however.
Thanks for the reply, good to know about Qt. I'm vaguely familiar with that, had now idea it found it's way to Windows Mobile.
The Manila framework is called Manila Interface SDK, at least that's the only match I found.
bayowar said:
I've seen that, what about buttons, sliders, tabs, flickable lists and all this stuff though. I've never developed for a mobile platform and I'd imagine starting from scratch with all UI elements steepens the learning curve quite a bit.
Click to expand...
Click to collapse
Actually it is not the UI but the SDK that has a steep learning curve. Besides the usual loops and if then else.. you need to know exactly which library does what and there is the confusion as there are a couple of them doing similiar things eg Messaging API. At least that is what I encountered when I first started and I agree that C++ has a huge advantage over C# or VB.net as it can interact directly with the hardware api instead going over in a big circle and sometimes, some functions can't even be achieved using vb.net!
Just install vs.net and catch up on OO by diving into vb.net.
You'll be fine coding in either C# or VB.NET, the BCL for Ce is leaner than that for full blown windows but still very usable. After installing vs2008 don't forget to update the default install to wm6.5 sdk.
siamchen said:
Hi mates, want to ask which is the best programming language for WM? C, C++, C#, VB.Net or something else. I did use C# a lot and can do little thing with SQL Compact. But, it seems lot of the current applications are not require .Net Framework installed on WM. Are they using C++?
Also, is there anything need to be considered for WM Web Programming (such as JavaScript, CSS support)?
Click to expand...
Click to collapse
Hi mate,
I reckon c++ so u dont need to redisttibute the framework and your app will run fast, but if u want to write apps with db access net framework is the easy way, I'm in Sydney and I do c++ so PM if u need some help,
cheers,
Hlov
BTW is there some good app for programming in my HD2? taking my work on the go? something like visual studio mobile version?

Categories

Resources