SDK - Windows Mobile Development and Hacking General

Noob question: Does HTC have an SDK for their devices, or do they just rely on the WM6 SDK?
And on a related note...
I'm just starting to get into VB programming for WM (specifically, for my Tilt/Kaiser). Any advice on how best to get started? Stupid beginner mistakes to avoid? Best sites for finding sample code?
Thanks all!
-Florp

There is no special SDK form HTC devices.
In fact you do not even have to use WM 6 SDK specifically, programs compiled with previous SDKs will work as well.
Here is a site to start with: www.pocketpcdn.com
Personally, VB is not a language I recommend for WM based devices. Aside from a fact that you need the expansive VS 2005 (full version) to program in it, .NET compact framework makes for slower apps and on devices pre WM 6 it takes 5 MB to install CF 2.
Also, you can not use it to write things like today plugins and keyboards and accessing other system functions is a problem.

Thanks for the info!
If not VB, how about C#? Is that a well-supported language on WM?
-Florp

Well C# is a bit better than VB syntax vise but it suffers from all the same problems I listed before:
Need VS 2005
Need .NET CF2 -which is slow and built in only in WM 6
Difficulty accessing native APIs.
My personal recommendation is C++. If you are really interested in programming and don't know it - learn it.
Why?
MS has a free tool to compile for WM devices: Embedded visual C++ 4
You can write anything with it and access any system API directly with no problem.
Native codes runs faster and is more memory officiant because no supporting framework needs to be loaded.
Of course it all really depends on what you want to do. If you just want to make a quick simple app for you own use VB or C# may be more than enough provided you can get you hands on VS 2005.

Related

What's the best development language for XDA II

Greetings from Ireland,
About a year or two I did some development for PocketPC 2002 using eVB [no sniggering ] but now want to start dabbeling in PPC2003. What options do I have as far as development enviornments go. I'd prefare not to have to fork out over €1000 for Visual Studio .NET but don't mind paying €100 or €200 for a decent package.
I'd also prefare not to use eVC4++ but will as a last resort.
So basically.... What tools to you guys and/or girls use and what do you think of them?
Sorry if this question has been asked before, but I couldn't find it if it was.
Regards
Keith Burke
Dublin, Ireland.
I use C++ and EVC4.
This stays, in my opinion, the best way to develop application for embedded platform. The c++ allows you to optimize correctly and to have little footprints ...
EVB must be, of course, forgotten as it is slow and requires runtime.
.Net is a way but as you tell, you have to pay the dev environment ... and it is (still in my opinion ) more big and less easy to optimize...
It also depends on your application...
The best?
Of course - Visual Studio .NET
I use Visual Studio and .Net
.net is not a language it's a platform
.net can be program'd from both vb, asp, c++, and c#
personaly i would never use anything else then c++ or maybe c#
but of cause people are difference
I've uploaded GCC compiler which can build console/GUI WinCE applications, and DLLs:
http://mamaich.kasone.com/fr_pocket.htm
There are 2 versions: Windows (needs CygWin installed) and native PocketPC (idea and name is taken from PGCC project, but we use different compiler versions and runtime). There are some examples in pgcc.rar (dll, console and gui apps, SDL example).
I've successfully compiled DosBox, Bochs and several other open-source projects with this compiler.
If you want to do .NET development but don't want to pay take a look at http://www.icsharpcode.net/OpenSource/SD/
Jamie
well thats not for pocketpc is it ?
but while we are at it
http://www.go-mono.com/
if you want to develop c# using .net for linux
but they have a version which works on windows aswell
As long as you stick to the compact framework, any .NET app will run on the PocketPC even if it was aimed at the desktop . . . . .
Jamie
Having said that I've just tried making an app in Sharp Develop and it doesn't seem to want to run on my XDAII.
I have made a desktop app in Visual Studio .NET and run it on the XDAII before so I'm sure it is possible!
Jamie
also have a look to NS basic
www.nsbasic.com
I use C++ and eVC4, on top of it, I use WTL7.1
Much easier to program using WTL then native win32 api and without the trouble of MFC

XDA Data Driven Application Architecture - Language choice

Hi
Similar to the GPS upload thread, I am interested in writing an app to talk to TomTom5 SDK (maybe with or without the TTNC Java/VB wrapper), and upload the data to a Web service.
I am primariliy a Java developer, but have found very little about Java support the XDA... I need to develop for XDA T-Mobile MDA HTC Blue Angel - O/S WME 2002/2003. ..
I have trawled the forums and read a couple of mentions of Java, but nothing conclusive as to what the current situation is with regards to support VM's etc..
Can anyone clarify:
a) What are the supported JVM's
b) If none, what other languages are being used to develop the apps? (is it just VB .NET?)
:?:
java support
http://forum.xda-developers.com/viewtopic.php?t=19415&highlight=java
http://www.ewesoft.com/Downloads/Downloads.html
other languages you can use
c#
c++
both are miles ahead of vb imho
Hiya
I do a lot of work with TomTom and it's SDKs, originally using embedded VB and now C#. One thing to note... I don't think the TTTNCF wrapper for the TT5 SDK (I assume this is the wrapper you mean?!) will work with Java! As far as I'm aware it's .NET only - tho that said I haven't had time to play with the new TT5 version yet :roll:
C# or Java
Hi
Yes I am guessing I only need the TTNC wrapper if I am using .NET because if I use Ewe Java, I can talk straight Java to the TomTom SDK, is that your understanding? (I think the SDK is Java)...
Can I ask why you chose C# over Java/Ewe ?
and also, if I choose to develop using .NET C#, can I talk to a Java web service (ie. Axis published)? or do I have to talk to a Microsoft .NET published Web Service?
:shock:
ms hate java so java is much much more limited on the mw platform
even more limited in many ways then on a normal nokia cellphone
dont know if the tomtom sdk is java but it's odd if it is because normaly pocketpc's dont have java support unless you install 3th party software
so unless tomtom include a JVM then it's not java

Programming

i want to start to programming on for WM6 but not sure what apps i need?
and a recommended programing language?
Thank You
mineshm said:
i want to start to programming on for WM6 but not sure what apps i need?
and a recommended programing language?
Thank You
Click to expand...
Click to collapse
Do you have experience with a programminglanguage?
I use Visual Studio 2005 as IDE and Visual Basic.NET as language. Though I'm playing around with some c++ as well.
You really need to do a search of this forum!
This question is asked very often.
Before anyone can recommend any tools (my personal favorite is eMbedded Visual C++ because it is free, can do anything including system components like keyboards, and works with any OS version from 2002 to WM 6) you need to decide what language you want to use.
That depends on you experience and what you want to write. .NET languages (VB, C#) let you make apps very fast because the use existing components but they are slow and accessing system functions is difficult. Plus you can't do things like today plugins and keyboards in pure .NET
C++ / C can is fast and powerful but takes more work.
i got a demo of Visual Studio 2005 and the SDK running. is there any way where i can get some online tutorial to help me get going?

[eMbedded Visual C++] vs. [Visual Studio 2005]

As I understand it, eMbedded VC++ can be used to write applications that will work in Windows Mobile 5/6. I'm curious as to what I would miss out on in terms of API. In other words, what's new and shiny in VS 2005 that would make it worth my money to purchase instead of just using eMbedded VC++?
Particularly, I'm interested in writing a Today Screen plugin (so the .Net features don't matter to me very much). Is there any API breakage between Pocket PC 2003 and Windows Mobile 5/6 regarding Today Screen .dll's?
Alternately, is there a way to use the Windows Mobile 5/6 SDK with eMbedded VC++?
embedded vc++ apps can run on wm6 devices because in most cases all arm wm apps can run on all wm devices
the beta2 of visual stuio 2008 is free and can also do what vs2005 can and more
Rudegar said:
embedded vc++ apps can run on wm6 devices because in most cases all arm wm apps can run on all wm devices
the beta2 of visual stuio 2008 is free and can also do what vs2005 can and more
Click to expand...
Click to collapse
I know eMbedded VC++ apps can run on WM6, my question was more about whether there are any differences in available library/API calls using the older development platform, any name mangling issues writing DLL's, etc. Can I just use eMbedded VC++ to compile against the newest SDK libraries?
You will miss the following:
1) 1GB+ of you hard drive wasted.
2) 5 minutes wasted every time you try to access built in help
3) A lot of time lost due to slow response of the IDE
4) Programs that are not backward compatible.
5) Spending lots of money unless you have "other" ways of acquiring VS which we do not condone.
I worked with VS 2005 and still prefer eVC 4.
API is just a matter of what libraries you link to. You can get all the shiny new bells and whistles (frankly I am not familiar with any critical API, and certainly there is nothing new for today plugins) in two ways:
1) Manually unpack WM 5 or 6 SDK and link to its libs.
(Project->Settings->Link)
2) Use LoadLibrary and GetProcAddress to dynamically gain access to the API.
Oh and if you want to write today plugin check out this article and the link to RegDisplay in my signature. It is a skeleton plugin project you can use as a base.
Oh and stay away from VS 2008 at least till it comes out of beta. VS 2005 beta was the worst nightmare I ever seen and I can bet MS track record has not improved.

Developing WM6 without CompactFramework??

Hi @ll codejunkies
i want to start developing/programming without the .NET CompactFramework for our WM5/WM6 Devices..
Till now, i used Visual Studio 2005, but i think with .NET the program is only "interpreted". Now i want to compile a program that don´t need the Framework for .NET.
So my question: Which Programming Languages are available to develop this "real" exe-Programs?? and what GUIs and Compilers i can use for it?
thanxx 2 @ll
The only real option without using runtime libraries such as the .NET framework is C++.
Is therefor a SDK?
You use the same SDK you were using all along. Infact, you can even use the same Visual Studio you were using all along. Just select Visual C++ on project type, and select smart device solution, and you're ready to go! . You'll have to have extensive use of the win32 api to get started though. The basics are EXACTLY the same as the desktop version.
on the microsoft Homepage i found out, that the SKD for WM6 only support .NET???
how can i then develop and compile then to native code, without use .NET Framework????
nEuDy said:
on the microsoft Homepage i found out, that the SKD for WM6 only support .NET???
how can i then develop and compile then to native code, without use .NET Framework????
Click to expand...
Click to collapse
The SDK supports C++ as well. Visit the MSDN site for technical documentation.
nuEdy: It`s not true, SDK has tools and documetation for managed and of course native development.
As mentioned above. Embedded C++ version 4.0. Free download from the Microsoft website. Compiles for the WM 2003 SE platform SDK included in this download. Without .NET you will have to use the standard WIN32 application model, responding to WM_XXXXXX messages via WIN32 API calls. If you haven't done this before, you will have a long hard slog to master it, but the results are worth it. Start by looking at the code created by the hello world app until you understand what the hell is going on. Release .EXEs can be run directly under the WM6 SDK as this is a true ARM emulator, not the half way x86 code used by the 2003 SE SDK.
Stick to two menubar items and WM6 will display them either side of the keyboard icon as per WM6 Apps. More than two and the menubar appears in WM2002/3 mode.

Categories

Resources