Related
I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
I would also be very interested in a thread or good reference on how to start to program app for mobile gadgets. Actually i'm a Delphi coder, and i would like to implement some applications on WM platform, but when i search over internet there's plenty of information, but no usefull information with "real-life" recomendations.
depend on the platform and language one wish to use really
there is c#.net, vb.net c++.net
c++ miniMFC, c++ PureWin32 sdk
oldVB
...
here are some other posts asking pretty much the same thing from the forum
http://forum.xda-developers.com/showthread.php?t=225405&highlight=programming
http://forum.xda-developers.com/showthread.php?t=237932&highlight=programming
http://forum.xda-developers.com/showthread.php?t=241670&highlight=programming
http://forum.xda-developers.com/showthread.php?t=245426&highlight=programming
http://forum.xda-developers.com/showthread.php?t=228043&highlight=programming
http://forum.xda-developers.com/showthread.php?t=317913&highlight=programming
http://forum.xda-developers.com/showthread.php?t=302548&highlight=programming
http://forum.xda-developers.com/showthread.php?t=327164&highlight=programming
http://forum.xda-developers.com/showthread.php?t=305926&highlight=programming
http://forum.xda-developers.com/showthread.php?t=336251&highlight=programming
http://forum.xda-developers.com/showthread.php?t=226412&highlight=programming
codeguru.com got examples of various windows mobile programs too today items and such
about delphi i dont know if anybody got some info i would say borlands site
Thanks rud. I was aware of various other posts, but my question was more of a "How steep is the learning curve?" rather than "How do you do it?".
There was also an element of "How do you do it?" insofar as there seem to be better or worse ways of going about various kinds of app (eg today apps with gesture support) which I am finding a bit of a minefield, but I feel that the new post was valid because I am giving an indication of my experience level and what I am trying to acheive - none of the posts you listed cover the combination of stuff I am trying to do. Reqs like pulling from outlook db and allowing gesture scrolling in a today plugin, I dunno, I may waste ages with C#, for example, only to realise it is a breeze with C++... I also note that a google search for wm programming gesture scroll today screen currently ranks this very thread #5. By tomorrow that'll be a googlewhack then.
Yes, there are various posts about how to get started, but I think maybe a sticky would be in order with a bit of info on the various paths - the vb/c++/c# options are quite bewildering - stuff like
levenum said:
Your question is mainly a matter of personal preference.
Here is my opinion on C++ vs. C#:
C++ advantages:
- Native code is faster than .NET
- Easier access to Win32 APIs
- Ability to write system components like keyboards and today plugins.
C# advantages:
- Saves on coding time
- Allows use of many .NET CF components to quickly accomplish complex tasks.
Please note that I am bias. I hate .NET and want nothing to o with it. Specially on mobile devices that do not have the processing power to spare for the .NET overhead.
Click to expand...
Click to collapse
is really useful, maybe if it were expanded upon, info such as for this route you need visual studio, etc, etc it would make a really good sticky for the dev section.
evilc said:
I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
Click to expand...
Click to collapse
Hey!
Congrats on getting your hands on with Windows Mobile...
The easiest way is to download Visual Studio 2005(2008 You have it on MSDN) - and create a new application with it.
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Still slogging my way thru this...
I got hold of an MSDN disc, first off I installed visual studio 6 - bad move.
Had to uninstall before trying to install VS 2005, now I think it has screwed something up, every time I try and create a "Smart Device Win32" project, I get a "Project creation failed" error. I may have to re-GHOST my OS to get rid of it
So much time just finding out what apps I need and what options to choose to start a project...
I found http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage which seems helpful
Thanks for responses!
Evilc, you link of msdn is excellent point, many thanks!
I have also just started programming in C++ ..i dnt have any knowledge of any type of codes..i learned every thing frm MSDN libraries ( i have many many of them caz i have VS 2006 VS 2005 and VS 2008 )..i recommend you to work with C++ because it uses less system resources and is fast..hope this helps..check out my Kitchen coded in C++ ( link in signature )
Yeah, I think C++ is definately more what I am looking for from what I have learned thus far.
Re-Ghosted OS - totally fresh XP SP2, installed Visual Studio 2005, still the same error. GRRR!
Visual C++ --> Smart Device --> Win32 Smart Device Project == "Project Creation Failed"
Other Languages --> Visual C# --> Smart Device --> Windows CE 5.0 --> Device Application == Project created OK.
Some posts I have found on the net say it is an IE7 issue, I may try uninstalling that or flashing back to an OS image with IE6 only, but this is really winding me up and taking a *lot* of my time...
I uninstalled IE7 and the problem went away. Woohoo!!
starting programming windows mobile
hello
1. see my web site.
2. see my book recommendations, especially the 'programming windows ce' by douglas boling. It has an example for many things and a today sample too. Most is based on visual c++ 3.0/4.0. Embedded Visual C 4 can be loaded free of charge at ms.
regards
josef
Nice site, thanks.
The windows mobile 6 sdk actually has a today screen sample, along with samples of most of the things I need to do.
neofix said:
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Click to expand...
Click to collapse
Are we using the same language?? Cos this (C++ Win32 for Mobile Devices) is by far and above the most difficult programming language to get into that I have ever tried. Yes, worse than ASM.
Trying to code an app that prints "Hello World" has taken me over 5 hours with no success yet - most languages I have a go at it's 5 minutes.
From http://msdn2.microsoft.com/en-us/library/ms901121.aspx :
Code:
int DrawText(
HDC hDC,
LPCTSTR lpString,
int nCount,
LPRECT lpRect,
UNIT uFormat
);
It gives a brief description of what the parameters are, but absolutely no examples and no explanation of what all the parameters do or how to initialize them, so even browsing an example is no use to me.
u can simply try
MessageBox::Show(" your message ");
ather90 said:
u can simply try
MessageBox::Show(" your message ");
Click to expand...
Click to collapse
Isn't that .NET ?
I thought the consensus was that Native Win32 or whatever it is called was the better way to go?
This is part of the problem. I cannot even work out what to put in a search engine to pull out info on the right "flavour" of C and for the pocketpc. It's *so* bewildering.
Hello evilc.
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
levenum said:
Hello evilc.
Click to expand...
Click to collapse
Hello! <waves>
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
Click to expand...
Click to collapse
I tracked down the problem when I got home and installed on my desktop. When doing it on the laptop, whilst installing SP1 for studio 2005, I had hit "Not Now" to a reboot request and it had said installation failed. When I installed SP1 on my desktop and said "Yes" to the reboot request, the problem went away, so I guess it was fixed in SP1 but the installer is a bit picky.
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Click to expand...
Click to collapse
Wish I had that advice before as I wasted a day messing around with an MSDN CD, trying to work out what to install and what not. So does the eVC 4 download include an IDE? If not, what do you use?
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
Click to expand...
Click to collapse
You don't have to tell me twice to avoid the bloatware ****e
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
Click to expand...
Click to collapse
No GDI Experience. I take it this would be the library of choice for drawing the screen of a today screen app? Stuff like the HTC Home clock or the new Face Contacts - they would likely use Native C++ and GDI? Doesnt strike me as something you would do with a form.
Also, anyone got the skinny on vertically scrolling by click-and-drag inside a today screen app? Just a case of enabling a parameter? Has to be coded manually? Best way to do it smoothly? If you have seen the Conduits Pocket Player 3.x browse list - how it "eases in" and "eases out" at the ends of the list, has inertia so you can "flick" down the list, the alphabetical bar instead of the regular scroll bar - is that all coded manually or is there an api or something that can help?
Thanks for the help!
I just noticed your apps in your sig - checked out LVM time - noticed there was source - wooohoo! I generally pick these things up by example.
All that code just for a (configurable) clock on one line - wow. Great though, a really good example of a today app - minimal enough in functions so it is easier to suss how it all slots together, but full featured enough (implimented example of an options screen - yay!) to show how to do various things.
And Gnu as well! Nice, this will be the basis of my first test project too I think - at least now I have a framework to test out what I want to do and how to go about it without having to work out how to code the basis of the application.
I thank you from the bottom of my heart sir.
I tried to build it in VS2005, but I got a
fatal error C1083: Cannot open include file: 'todaycmn.h': No such file or directory
A quick google search showed todaycmn.h was part of the SDK, I found the file, dropped it into the headers section of the project, but no joy. I will probs just try eVC.
Oh, and having developed a today plugin, maybe you can answer this one:
As far as I can tell so far, debugging isn't very easy with a today app - something to do with the fact that the dll is not releasable? Is this an issue I will come up against? I hope its not a case of "reinstalling" the app each time you want to test... I was thinking maybe along the lines of have it as a normal app for debugging, then make it a today plugin when you want to build to use it?
I dunno, probably trying to run before I can walk, my books shoulda been here today, oh well. Sorry for all the questions...
@evilc:
Are you using standard Win32 or MFC?
You may want to try using MFC since you get the flexibility of native development but with some nice class libraries that make your life easier.
As for click and drag behavior, that is usually implemented by handling the WM_LBUTTONDOWN, WM_LBUTTONUP and WM_MOUSEMOVE.
When you get wm_lbuttondown you set a flag that says the user is dragging. You use wm_mousemove to update the stylus position as long as this flag is set, then you unset it on wm_lbuttonup.
That's the basic idea anyway. Someone made a post about gesture recognition in this forum a few weeks ago with sample code. You should see if you can find that.
Managed Today Screen plugins
See:
http://msdn2.microsoft.com/en-us/library/ms839442.aspx
for some background on the concept.
And:
http://www.christec.co.nz/blog/archives/279
Outlines what I think is a very ingenius technique for managed today screen plugins.
For those of you that want an easy way to make a today screen app in c#. Chris did all the C++ work for you.
Also I forgot to mention that the SDK samples cover all most every application type you can think of. Most of the good ones are Win32 though.
Also, keep in mind that you can use P/Invoke from your C# apps to call native APIs. So don't let people tell you you need to use C++ just because you can access more api's. I will say that you should use C++ for games, or other apps that require high speed or advanced GUI's (it is VERY hard to do interesting gui techniques with C# and interop, trust me).
And finally, I would highly recommend using the most recent version of visual studio you can get (especially if you're using vista), unless your machine can't handle a newer version. I say so because visual studio gets more and more powerful as an editor with each new iteration and I personally can't go back after I get used to the new features they introduce. And the new versions are almost necessary if you're going to do .net development.
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.
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
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?
Hey guys im considering porting/recoding an app from VB.net to work on android, but i havent got a clue what language is used in android, could someone tell me its name or some sort of website with this information?
Finally if someone is experienced in programming apps for android, i would like to chat about a few capabilities of the language.
Thanks in advance!
Android is Java-ish based.
i would recommend you checking out the program Eclipse.
The main applayer is java based with some xml thrown in. But there is a native development kit that you can compile c c++ and many other languages to run on an android phone. But since java is virtual machine based an app written in java will run on all phones*(some caveats like os version) while the app in ndk will work on only hardware that it was designed for
Also, is Google not working? A simple search for "Android programming language" would answer this question
From something awesome
killersnowman said:
The main applayer is java based with some xml thrown in. But there is a native development kit that you can compile c c++ and many other languages to run on an android phone. But since java is virtual machine based an app written in java will run on all phones*(some caveats like os version) while the app in ndk will work on only hardware that it was designed for
From something awesome
Click to expand...
Click to collapse
hmmm, yes there is google but not what im exactly asking, and that makes me ask this:
You talk about c & c++ and other languages compilations to run on android phone, is vb.net a part of that list?
Could you show me a website or something that says more about that dev kit? im basically trying to port my apps from vb 2010 express (windows forms based) to android and if that thing is not possible should i use java to code it all over again?
Thanks in advance!
http://developer.android.com/sdk/ndk/ this is for the ndk but it is not as simple as just compiling your code with the ndk. You will need to rewrite some of it to actuallytie into the android apis
You should really just use the java sdk. You will reach more people and be able to find more help and info
And I stand corrected, while there are projects trying to bring other languages to the ndk it is at this point just C and C++
From something awesome
killersnowman said:
http://developer.android.com/sdk/ndk/ this is for the ndk but it is not as simple as just compiling your code with the ndk. You will need to rewrite some of it to actuallytie into the android apis
You should really just use the java sdk. You will reach more people and be able to find more help and info
And I stand corrected, while there are projects trying to bring other languages to the ndk it is at this point just C and C++
From something awesome
Click to expand...
Click to collapse
oh well in that case i will need to learn java.... thanks mate, i think its easier to just rewrite the whole thing really i like proper optimizations and ports most of the times lack them.
Thanks for the information thats all i needed.
PS: rep added
if you know vb.net well you'll have no real problem with java.. it just adds brackets and semicolons essentially lol. I learned java in college and then was thrown into the .net framework using c# and i love the .net framework.. its so hard for me to go from using Visual Studios to Eclipse to make an android application because Visual Studios (which im assuming you use, is so powerful).. But yes android is java code behind and html (preferred) GUI. You can make your GUI using java but trust me its terrible!
jr10000 said:
But yes android is java code behind and html (preferred) GUI. You can make your GUI using java but trust me its terrible!
Click to expand...
Click to collapse
Html? You mean xml?
Also try Intellij instead of Eclipse. Eclipse is way too bloated and IntellJ has some amazing autocomplete features. Its better in my opinion
From something awesome
jr10000 said:
if you know vb.net well you'll have no real problem with java.. it just adds brackets and semicolons essentially lol. I learned java in college and then was thrown into the .net framework using c# and i love the .net framework.. its so hard for me to go from using Visual Studios to Eclipse to make an android application because Visual Studios (which im assuming you use, is so powerful).. But yes android is java code behind and html (preferred) GUI. You can make your GUI using java but trust me its terrible!
Click to expand...
Click to collapse
what?? i really need a proper GUI ugh... yes im using visual studio, and indeed is amazing, the app i have and i want to port to android is windows form based, the most essential thing i would need about it is the calendar control :\
You can use Javascript+HTML5 (it's complicated to express here but the whole things is pretty much native).
Python aswell, use SL4x or Kivy (Kivy is pretty good but it's still too new).
Sorry, being hate Java too much.
Funnnny said:
You can use Javascript+HTML5 (it's complicated to express here but the whole things is pretty much native).
Python aswell, use SL4x or Kivy (Kivy is pretty good but it's still too new).
Sorry, being hate Java too much.
Click to expand...
Click to collapse
ok np, so to doublecheck this: to have an application with graphical interface i will need javascript and html5?
TheWarKeeper said:
ok np, so to doublecheck this: to have an application with graphical interface i will need javascript and html5?
Click to expand...
Click to collapse
I dont know why people spread extremely non standard practices to people getting started...
No you dont need javascript or html5.
Android has a ui layout system based in xml. Its just there to arrange objects that you can access from the java code. So a little xml and java is all you need
From something awesome
TheWarKeeper said:
ok np, so to doublecheck this: to have an application with graphical interface i will need javascript and html5?
Click to expand...
Click to collapse
The right way to do GUI is with Java, with the official SDK from Google.
Some non-standard way to do this is with Javascript (just a GUI wrapper from Javascript to Java) and Python (again wrapper to Python).
You can choose which way you want, many people I know didn't like Java, and they choose to use a web application, and then they want to embed this to a native Android application, so they go with Titanium Mobile or some others framework like that. It's not as good as Java, but it's some other way to start with your application (Web app first and then Native app)
Funnnny said:
The right way to do GUI is with Java, with the official SDK from Google.
Some non-standard way to do this is with Javascript (just a GUI wrapper from Javascript to Java) and Python (again wrapper to Python).
You can choose which way you want, many people I know didn't like Java, and they choose to use a web application, and then they want to embed this to a native Android application, so they go with Titanium Mobile or some others framework like that. It's not as good as Java, but it's some other way to start with your application (Web app first and then Native app)
Click to expand...
Click to collapse
i feel like i should probably stick with java, i want it to be quick and fast and have alot of stuff to code, the program should run in background so it must not affect performance at all, will use timers with a basic code ticking every second while on background and thats it really
TheWarKeeper said:
i feel like i should probably stick with java, i want it to be quick and fast and have alot of stuff to code, the program should run in background so it must not affect performance at all, will use timers with a basic code ticking every second while on background and thats it really
Click to expand...
Click to collapse
Then use java bro, it's an awesome programming language, I don't know why some people don't like it, each programmer should learn to get used to each language.
Anyway, for likes.. colors
Cheers, D4.
D4rKn3sSyS said:
Then use java bro, it's an awesome programming language, I don't know why some people don't like it, each programmer should learn to get used to each language.
Anyway, for likes.. colors
Cheers, D4.
Click to expand...
Click to collapse
well ive been learning vb and i will admit that im still on intermediate level, even though i know all the basic stuff such as messing with its own functions, etc i still havent used any of the apis for it, the main problem with programming is that if u learn a language you would waste your time learning that one or else if u go learn to many languages you will end up not knowing none of them at all.
Ill see if i can mess with java, some people say syntax is a bit similar to c & c++
EDIT: btw, im not saying i dont find java good, a programming language that will basically run on any machine independently of the OS makes the language itself possibly the best and most versatile around.
I'm learning Android and I use Java and XML. I'm still a beginner though.
Sent from my SGH-T959 using XDA App
I am just curious, software like Titanium Backup, or Angry Birds, which programming language do they use? Could this stuff be programmed with Eclipse in Java?
killersnowman said:
Html? You mean xml?
Also try Intellij instead of Eclipse. Eclipse is way too bloated and IntellJ has some amazing autocomplete features. Its better in my opinion
From something awesome
Click to expand...
Click to collapse
Hey, do you know how to use intellij idea fire Android development?
Sent from my GT-S5830 using xda premium