[REQ] Beginning WP7 Coding - Need some help - Windows Phone 7 Software Development

I have been coding on WM 6.x and the CE lineup for years. Done it on VB.NET. Now, with the iteration of WP7, I have migrated to the refreshing OS. But, I got the shock of my life when I opened VS2010 WP7 project...
XAML, Binding item, etc. I have never touched them before. Coding for the WM 6 was as easy as Windows Forms. If you get me. I gave up WPF because of the confusing stuff esp XAML. Borrowing a WP7 coding book frm the library didn't help. So now.. If there's any member who's willing to devote a small time to answer some of the coding difficulties (thru PM) as I code along, it will be great. Can't offer you much, though ...

Went through the same thing. I found the documentation on MSDN really useful. Also if you have a look on codeplex there are some samples and apps around that could be useful for you to look over. I would say don't be too scared by XAML its really good once you get used to it.
Also you might want to look at the new mango dev tools as they support developing in vb so you won't have to move to c sharp

arikyeo said:
I have been coding on WM 6.x and the CE lineup for years. Done it on VB.NET. Now, with the iteration of WP7, I have migrated to the refreshing OS. But, I got the shock of my life when I opened VS2010 WP7 project...
XAML, Binding item, etc. I have never touched them before. Coding for the WM 6 was as easy as Windows Forms. If you get me. I gave up WPF because of the confusing stuff esp XAML. Borrowing a WP7 coding book frm the library didn't help. So now.. If there's any member who's willing to devote a small time to answer some of the coding difficulties (thru PM) as I code along, it will be great. Can't offer you much, though ...
Click to expand...
Click to collapse
Same here, although i don't have any programming skills at all.
Any help/advice would be appreciated.

I can understand how going from WinForms to XAML/Silverlight would be a shock.
Strangely, my ASP.NET experience helped me to adapt to XAML - the concept of defining UI declaratively in the markup and having the code in a code-behind file is exactly the same in both.
If you've done any desktop WPF, it's the same concept as well.
In order to adapt from WinForms, think of it this way:
1) the design canvas - works similarly between either WinForms, WPF, Silverlight.
2) the declarative markup - similar in concept to HTML. In WinForms, the auto-generated InitializeComponent () in *.designer.cs is responsible for creating, initializing, and building the UI - in WPF/Silverlight the XAML serves this purpose, but is much easier to modify than the InitializeComponent method (which they tell you you shouldn't be doing).
3) the code behind - In WinForms, you have to open up your WinForms class in the code view, and you can code all the event handlers and whatnot. In WPF/Silverlight, this is in the *.xaml.cs, and is very similar to the WinForms codebehind.
I'd recommend going to create.msdn.com and start going through the tutorials.

Check this site Getting Started with Windows Phone.
http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7gettingstarted_unit
Yes, MSDN, they have a on-line training to get your started, even your first "Hello World" app to try. I figure I will be going this route to get an idea of the tools then go deeper into reading coding just to get the fundamentals down.
It's the only way I could get started...

These videos are helpful
http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners

is there a german version too??
i need German language

styles89 said:
is there a german version too??
i need German language
Click to expand...
Click to collapse
Doesn't look like it, and besides nearly all programming is done in English.
Personally I can't stand using a Norwegian version of Windows, and others can't live without it.

Related

Coding volunteers needed

We have more ideas for cool stuff people really need than we have coding capacity. So we'd like to get in touch with people that have some spare time and wouldn't mind making thousands of people happy.
We can supply rough ideas or completely specified projects. We have jobs in all sizes and levels of complexity.
Come on people: even only half-decent SourceForge projects have tons of volunteers, there's got to be a few programmers with some spare time here.
Hi
I would love to help but fear I may be more hinderance than help.
On the plus side I am ridiculously overequiped I have Visual Studio.Net, Platform Builder Win XP and Linux etc and have lots of time and am very keen. On the downside I am very new to programing and don't know my arse from my elbow but if you have a role for an idiot I'm your man.
Richard
Richjn said:
[...]On the plus side I am ridiculously overequiped I have Visual Studio.Net, Platform Builder Win XP[...]
Click to expand...
Click to collapse
OK, this may be a good job for you:
Could you try to use the tools in the platform builder to create the files needed to have different language auto-completion data, MS-Word spell-checker database and different keyboard layouts and figure out how to stick these in the OS?
A starting point for documentation is here.
We then still need a small tool to swap these files (runtime if possible, otherwise reboot after swapping), so people can change auto-complete languages, spellcheck databases and keyboard layouts with ease. But let's first find out how to do these things manually.
O.K
Thanks for the chance to help. I'm away until Sunday but will start on it then and see how I get on.
Richard

best source for learning to develope applications for windows?

First off I would like to say thank you for the developers on this website that make my phone better than ever. I would love to contribute in the same way but I lack the skills I need.
Long story short, what is the best way to learn development for wm from scratch? Are there online courses I could take? I would love some in depth training on this! Any help is greatly appreciated
Don't expect that you learn all this stuff with the waving of a magic wand, or a site that hands it all out on a plate. It is going to be a long hard slog to get any good at this......
Having said that, download the Microsoft Windows Mobile SDK for the version you want to target. Then have a look in the SAMPLES directory that gets installed with it. It will be in the \Program Files\ directory for the SDK version above. It contains several examples for C++, C#, and VB, and the C++ sampes are also WIN32 , ATL and MFC. They are also superb examples of "how to do it" code. Looking at them, and trying to understand them is a good start. The hard work is still up to you, but it is worth it.
Also try this:-
http://msdn.microsoft.com/en-us/library/ms184401.aspx
Good advice, I found looking at the videos a great help; http://msdn.microsoft.com/en-us/windowsmobile/bb495180.aspx
The only problem is, there is too much info available. For 1 solution there 6 ways to create it..For some applications on this site I asked the developer for some help. Some of them are, when online, really helpfull. Look for open source projects, not to old, and download and debug them.

Wanting to learn the basics of programming

Hi guys, now I know this is a BIG request, but I was hoping someone might be interested in helping me begin to learn the different aspects of programming.
Now I know I cant just "hop on the band waggon" I need lots of training before hand in different programing languages, but the one I really want to understand is c# (thats what most windows mobile apps are built on right?)
So are there any really good recomended beginners guide you guys could suggest to me to get me started.
Sorry I must sound like I dont have a clue xD
(well I dont)
Thanks in advance
Hop on the band waggon? I guess you'd rather have to jump in cold water!
I suggest buy a book. If you actually spend the money on it then it's bigger motivation to make something out of it. There's even a book about Windows Mobile .NET programming. What else could you ask for? I don't have the link at hand but you should easily find it on Amazon.
RAMMANN said:
Hop on the band waggon? I guess you'd rather have to jump in cold water!
I suggest buy a book. If you actually spend the money on it then it's bigger motivation to make something out of it. There's even a book about Windows Mobile .NET programming. What else could you ask for? I don't have the link at hand but you should easily find it on Amazon.
Click to expand...
Click to collapse
Hey thanks for the speedy response,
are you refering to this?
http://www.amazon.co.uk/Programming...=sr_1_1?ie=UTF8&s=books&qid=1264201954&sr=8-1
It looks pretty nice, and will it teach me the basics?
yes, for example. or this one:
http://www.amazon.co.uk/Microsoft®-NET-Compact-Framework-Reference/dp/0735617252/ref=pd_sim_b_5
If you are really looking to learn programming, I would suggest against starting with Windows Mobile development. .NET framework for Windows Mobile is very lacking, and in order to do even simplest things you end up using Interops (way of calling native libraries written in C++) or searching/writing libraries on your own.
.NET (and C# by extension) is a multi-platform framework. Start with simple Windows or Web development. Read up on OOP development, find some simple examples online and start a very small, easy to write project.
Once you can write some simple applications for Windows or Web, then you might want to start looking into Windows Mobile development.
Before you start spending money on books try Microsoft's Beginner Developer Learning Centre a go. There are lots of video tutorials which will help you get the basics down http://msdn.microsoft.com/en-us/beginner/dd435692.aspx.
It's not specifically for windows mobile development, but most of what you will learn is transferable.
Once on the website, click "Windows Track" and then "Tier 1", tutorials are available for both C# and VB.NET.
The guy that made the BDLC tutorials for Microsoft also runs http://www.learnvisualstudio.net/, there are a few more free tutorials there too on more advanced topics, a subscription to the site will let you get all the videos.
And look for open source applications like "ReRemind", "Freda" or "RemoteTracker". If you debug these you can learn alot.
ajhvdb said:
And look for open source applications like ... "Freda" ... If you debug these you can learn alot.
Click to expand...
Click to collapse
No No No please don't use Freda as an educational example It's the first .NetCF app I wrote and I really am not very proud of some parts of it. In particular, I only figured out the right pattern to use for 'settings' forms after I had written several already. Some day I will go back and tidy up the code and document it properly. But right now I am still adding features ...
Jim
dont worry, if i look at my old code it's bad too but still works

WP7 -IS- Backwards compatible (well almost)

Applications that were made for Windows Mobile 6 are compatible with Windows Phone 7 Series. The interface of the new mobile operating system has been changed though, so the user interface for these applications will have to be changed as well.
"So there is no reason why programs written for Windows Mobile 6 cannot run on the new version of the OS", said Maarten Sonneveld of Microsoft Netherlands to Tweakers.net. "The interface is complete different though, so the applications will have to be changed somewhat before being ready for Windows Phone 7 Series".
It is still unclear how developers can port their user interfaces to the new version of Windows Mobile. Microsoft will only disclose how applications can be developed and distributed at their developer event Mix2010.
Microsoft announced it’s new OS on Monday afternoon at the Mobile World Congress in Barcelona. The OS is primarily aimed at synchronisation and integration with Microsft-services like Windows Live, Bing, Zune and Xbox Live. Aside from those Windows Phone 7 Series can also synchronise with Google-accounts and facebook.
Click to expand...
Click to collapse
Source
So in summary, while none of the current applications will run on it, the underlying non-UI APIs will be compatible. So if understand correctly, porting would just a case of redeveloping the UI then recompiling, rather than starting completely from scratch. This acts to filter out apps with no more developer support, and promote a consistent UI.
Doesn't sound too bad to me.
That might explain why TomTom was seen on that screenshot of WP7 running on the HD2 (although, it could be a fake!). TomTom takes control of the screen, so uses no WM interface elements. So, it might be able to run full-screen apps/games without changes.
But, who knows...
elyl said:
That might explain why TomTom was seen on that screenshot of WP7 running on the HD2 (although, it could be a fake!). TomTom takes control of the screen, so uses no WM interface elements. So, it might be able to run full-screen apps/games without changes.
But, who knows...
Click to expand...
Click to collapse
I was just thinking the same except if you use the included .net controls, there's no reason that the OS couldn't just reskin them automatically to be at least somewhat more in line with the WP7 styling.
This would be excellent if it's true - and I can't see why it wouldn't be. The UI may be new but why throw away a perfectly good underlying core.
What would also be ideal is if the "multi-tasking" involved an app being set to pause in the background by default, but with a "keep me running" API call available for apps that needed it. I'm sure most apps hog resourses not because they need to but because the developer hasn't really thought about how the rest of the device performs when his app has been left running.
Makes sense, WindowsCE core is still the same
Zaim2 said:
Applications that were made for Windows Mobile 6 are compatible with Windows Phone 7 Series
Click to expand...
Click to collapse
Absolutely wrong statement due to incorrect translation. Original: "De interface van Windows Phone 7 Series is totaal anders, waardoor er in elk geval iets aan de applicaties moet gebeuren voordat ze geschikt zijn voor Windows Phone 7 Series"
Even google translates it correctly:
"The interface of Windows 7 Phone Series is different, which in any case something should happen to the applications before they are suitable for Windows 7 Phone Series".
We have some "ms confidential" documentation dated January 2010 that proves that none of the existing apps would be compatible with WinPhone7. And the only programming suite that is available to "generic" application-writers is Silverlight+XNA. Native apps are prohibited. Only OEMs and MO are allowed to create them (and even they have a set of limitations).
We would not have even source code compatibility - as all our C++ apps have to be converted to .NET.
mamaich said:
We have some "ms confidential" documentation dated January 2010...
Click to expand...
Click to collapse
What the heck? And you say that only now? What else is in there? Any word about how background tasks are handled? Please give us some more information, or maybe, can you upload that documentation?
freyberry said:
maybe, can you upload that documentation?
Click to expand...
Click to collapse
Obviously I cannot. As it would reveal the person who provided it.
Just to prove that such info really exists - see attached screenshots.
I really hope that the community would force MS to change such a dumb idea to limit independent software vendors to create only managed apps. Prohibiting C++ as a developing language, and "hiding" Windows API from programmer would force lots of developers to abandon this platform. The main reason of success of old WinMobile OSes was the ability to recompile "desktop" apps to WinMobile with just a minor set of changes (ANSI->Unicode + some interface changes).
P.S. I don't read PMs.
Obviously I cannot. As it would reveal the person who provided it.
Just to prove that such info really exists - see attached screenshots.
Click to expand...
Click to collapse
Well, there's certainly a way to remove that information. But anyway, what about background tasks? Are third party applications allowed to run in the background?
mamaich said:
Obviously I cannot. As it would reveal the person who provided it.
Just to prove that such info really exists - see attached screenshots.
I really hope that the community would force MS to change such a dumb idea to limit independent software vendors to create only managed apps. Prohibiting C++ as a developing language, and "hiding" Windows API from programmer would force lots of developers to abandon this platform. The main reason of success of old WinMobile OSes was the ability to recompile "desktop" apps to WinMobile with just a minor set of changes (ANSI->Unicode + some interface changes).
P.S. I don't read PMs.
Click to expand...
Click to collapse
Wow, I can't believe noone has picked up on this
freyberry said:
Are third party applications allowed to run in the background?
Click to expand...
Click to collapse
OS itself supports multitasking, see attach. But "Windows Phone OS 7.0 Application Platform" that we'll be forced to use to create apps may force our application to be paused in background. I never programmed Silverlight and XNA and can't tell how multitatsking is made in them.
WinPhone 7 == Zune Phone. Both are based on CE kernel, and they should have lots of common in implementation of multitasking, clipboard, etc.
OS itself supports multitasking, see attach. But "Windows Phone OS 7.0 Application Platform" that we'll be forced to use to create apps may force our application to be paused in background.
Click to expand...
Click to collapse
The question is, can we write applications that are not automatically suspended when sent to the background? What are the policies on this?
It says multiple processes can run at the same time, but it does not say whether they get suspended automatically.
Is there any info on this? Maybe in the "Scheduling" section?
I’m not sure this is a big deal. I can see them saying a lot of native C++ apps may have compatibility issues. I could go either way on it with the limited amount of information I have on this. I’ll have a better opinion at and after MIX
Note that this could be old documentation, and it’s pretty annoying you're leaking confidential documentation. Personally, I hope you get into trouble for breaking your contract - they trust you and you're posting it? Yuck.
To be fair, though, every app we’ve written has been managed, and Microsoft hasn't t said P/Invoking is verboten, so what would be the problem?
There’s probably exceptions for games and the like, and the documents you've scanned even say a waiver is available to use the Native APIs. So I don’t know what you're complaining about…
Microsoft's dev teams have been listening to developers - why not get them to chime in and also give them a chance to hear you. Posting confidential Microsoft documents, assuming those are real, is not the way to get them to listen
Best,
-Auri
freyberry said:
The question is, can we write applications that are not automatically suspended when sent to the background? What are the policies on this?
It says multiple processes can run at the same time, but it does not say whether they get suspended automatically.
Is there any info on this? Maybe in the "Scheduling" section?
Click to expand...
Click to collapse
Personally, I like Android's approach to this, where Services can run in the background, but UI apps are allowed to be "put to sleep" while other apps run. But then again, we may see a lot of that come into play come MIX and "Answer Time"
Best,
-Auri
Well, I am now both excited and nervous -I think I will just cool my jets until MIX10 and just enjoy the eye candy for now. At worst - if the interface is nice, but the core is crap I am sure some of the boys here at xda will make us an inteface port for 6.5.x that acts and looks like the new hotness with the old compatibility. - lets see MIX
AuriRahimzadeh said:
Note that this could be old documentation, and it’s pretty annoying you're leaking confidential documentation.
Click to expand...
Click to collapse
Docs are dated 2010.
I'm not leaking the documentation. I'm sharing the information that anyway would be opened in some days, maybe weeks.
And screens are posted here just as a confirmation of my words. You may think that these pics come from my mind and are made with photoshop - it is your opinion.
I really think that WinPhone 7 would be a failure similar to desktop Vista. Of cause some people would like it, but most would stay on WM 6.x and wait for the next version.
Regarding P/Invoke. As far as I've seen, "unsafe" operations are prohibited in XNA and Silverlight. Otherwise we would be able to call coredll funcs and run native apps (and do everything else that is allowed in our chamber).
mamaich said:
Docs are dated 2010.
I'm not leaking the documentation. I'm sharing the information that anyway would be opened in some days, maybe weeks.
And screens are posted here just as a confirmation of my words. You may think that these pics come from my mind and are made with photoshop - it is your opinion.
I really think that WinPhone 7 would be a failure similar to desktop Vista. Of cause some people would like it, but most would stay on WM 6.x and wait for the next version.
Regarding P/Invoke. As far as I've seen, "unsafe" operations are prohibited in XNA and Silverlight. Otherwise we would be able to call coredll funcs and run native apps (and do everything else that is allowed in our chamber).
Click to expand...
Click to collapse
Mamaich any though of a WP7 ce6.0 bsp for all the current cortex A8 devices running on a ce5.2 bsp, will the new kernel support them natively or will extensive bsp/bootloader hacking be required?
P/invoke surely is a limitation of .NET CF, rather than Silverlight/XNA libraries?
I think it would be a bit stupid to remove P/Invoking, because it's just not realistic to rely on .NETCF alone which has soooo much stuff stripped out to minimize size.
Will we be seeing a whole new .NETCF so soon after 3.5? I highly doubt it...Unless MS have been working overtime the past year
Shame, time to stop mobile development altogether if this is true. When we developers are considered as dumb earning pipes for companies who in their arrogant big ways think they have all the wisdom, and app developers only make annoying software that makes their precious leaky OS'es crash, it's time to move on. i would have been talking about IPhone, Android etc, but sadly we must add Microsoft to the list also.
Then there's the $1195,- and airplane tickets we have to pay to get to the Mix2010 in oder to maybe maybe get to be a "partner" with access to limited native API's (probably only reserved for the big companies) and don't even bother talking about giving away 30% of our earnings to a company that last year made how many billions of profits was it ?
Time to start an XDA OS based on REAL Linux maybe ? NVidia have a nice dev-board available for $400,- with Tegra on it. That's what I call developer friendly.
Cheers !
Regardless of how this will play out, I'm pretty sure of two things:
1. Closing down the OS may be beneficial for the majority of users by bringing stability, ease of use, UI consistency, etc. Even though I don't like it.
2. Because the OS itself is multitasking, any and all restrictions may be hacked around, and a "jailbreak" will be possible.
Depending on how this whole thing will be implemented, jailbreaking and using "illegal" apps may be a major PITA (think iPhone 3GS/tethered jailbreak) or as easy as a few registry tweaks/installing additional certs/whatever. If Apple didn't chase JB with every update it would be a rather good platform for both mainstream "ordinary" users and those who want rather unusual things from their phones.
We'll have to wait and see how it evolves really to make a final judgment.

Help/Guidance on Expanding Knowledge of C#

I've been taking some classes in C# programming at my University. I'm trying to attain a Computer Science degree and I feel like I've not learned much but a mild foundation for what I can do with C# programming and would like to expand my knowledge, little by little. I feel as though I have a pretty firm grasp on the basics and would love an experienced hand guiding me in the right direction towards getting me better ready for the job market after college. I'm currently applying for internships and would like to be well prepared.
Detayl said:
I've been taking some classes in C# programming at my University. I'm trying to attain a Computer Science degree and I feel like I've not learned much but a mild foundation for what I can do with C# programming and would like to expand my knowledge, little by little. I feel as though I have a pretty firm grasp on the basics and would love an experienced hand guiding me in the right direction towards getting me better ready for the job market after college. I'm currently applying for internships and would like to be well prepared.
Click to expand...
Click to collapse
The best way is to simply use it as much as possible and challenge yourself. I've been working as a developer for nearly 20 years and I'm always finding new things that I don't know how to do. Learning to search effectively is probably the best skill any new developer should hone.
If I were you I'd start out with something not too difficult, like a simple text editor application (make your own version of notepad!) That will give you some basic skills like simple UI design (menus, controls anchored to the form etc.), file reading/writing (good exposure to streams unless you use the quick and easy methods). It's just a general basic all-rounder. Then expand on it - make it so the pages open in tabs. That will teach you about collections (the tab pages, in this instance) or MDI child windows.
There are some great resources available online, but I'll always suggest Stack Overflow. If you don't know it then google it. It's part of the "Stack Exchange" collection of Q&A sites and is probably the most reliable place on the web for programming answers.
Basically, don't try and learn it so you can do it. Do it so you can learn it.
I hope this helps - good luck, and most of all, have fun!
Archer said:
The best way is to simply use it as much as possible and challenge yourself. I've been working as a developer for nearly 20 years and I'm always finding new things that I don't know how to do. Learning to search effectively is probably the best skill any new developer should hone.
If I were you I'd start out with something not too difficult, like a simple text editor application (make your own version of notepad!) That will give you some basic skills like simple UI design (menus, controls anchored to the form etc.), file reading/writing (good exposure to streams unless you use the quick and easy methods). It's just a general basic all-rounder. Then expand on it - make it so the pages open in tabs. That will teach you about collections (the tab pages, in this instance) or MDI child windows.
There are some great resources available online, but I'll always suggest Stack Overflow. If you don't know it then google it. It's part of the "Stack Exchange" collection of Q&A sites and is probably the most reliable place on the web for programming answers.
Basically, don't try and learn it so you can do it. Do it so you can learn it.
I hope this helps - good luck, and most of all, have fun!
Click to expand...
Click to collapse
Thanks! I was just thinking of making this my first project as well. I've done some random things such as a Base10 to Hexadecimal generator, in both the console and WPF. I was thinking this might be a good project as well. I just don't like the fact my school hasn't asked too much of us, but from what I've read that's common. I just want to be prepared to enter the job market so that I may hone my skills. I guess I'll get working on researching what the basic requirements of a text editor is, and how to start saving/opening/creating .txt files.

Categories

Resources