Monday, January 05, 2009

Smartphone Programing

Have been looking up recently for articles on programming smartphone devices. Stopped upon http://weblogs.asp.net/nleghari/articles/smartphone.aspx and looks like a great first point to anyone whose wants to start programming smartphones. A few of the links in the original article are out of date and below is a reproduction of the article with dead links replaced.

Best of Articles :: Microsoft Smartphone Programming


[This (sort of) book is a collection of different articles combined under related chapters]

Chapter 1: Introduction to the .NET Compact Framework

Fundamentals of Microsoft .NET Compact Framework Development for the Microsoft .NET Framework Developer

<http://msdn.microsoft.com/en-us/library/aa446549.aspx>

What's New in Smartphone 2003

<http://msdn.microsoft.com/en-us/library/ms838097.aspx>

Develop for Windows Mobile 2003 for Smartphone Using the .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/ms839369.aspx>

An Introduction to Microsoft SmartPhone, and Programming SmartPhone using C#

<http://www.codeproject.com/netcf/SmartphoneIntroCSharp.asp>

Design Considerations for Microsoft Smartphone Applications

<http://www.oreillynet.com/pub/a/wireless/2004/01/07/smartphone.html>

Chapter 2: The Smartphone User Interface

Write Apps for the Smartphone without Dumbing Down Your UI

<http://www.devx.com/wireless/Article/21291>

Creating a Multiple Form Application Framework for the Microsoft .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446546.aspx>

How to Create a Microsoft .NET Compact Framework-based Image Button

<http://msdn.microsoft.com/en-us/library/aa446518.aspx>

Crafting Smartphone User Interfaces Using .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446513.aspx>

Develop for the SmartPhone Using Techniques You Already Know

<http://www.devx.com/wireless/Article/17968>

Chapter 3: Smartphone Controls

Creating Controls by Hand in the .NET Compact Framework

<http://www.devx.com/getHelpOn/10MinuteSolution/17430>

.NET Compact Framework Sample: Hosting A Native Windows Control

<http://www.microsoft.com/downloads/details.aspx?familyid=794f5e1a-984b-474f-8139-a1a64c595151&displaylang=en>

Developing Custom Controls in C# with Smart Device Extensions

<http://msdn.microsoft.com/en-us/library/ms836776.aspx>

Chapter 4: Graphics

Creating a Microsoft .NET Compact Framework-based Animation Control

<http://msdn.microsoft.com/en-us/library/aa446483.aspx>

Chapter 5: Files and Directories

Working with files on Smartphone devices with the .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446567.aspx>

Chapter 6: Mobile Web Services

Consuming Web Services with the Microsoft .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446547.aspx>

Chapter 7: Working with Unmanaged Code

Accessing Phone APIs from the Microsoft .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446547.aspx>

Advanced P/Invoke on the Microsoft .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446529.aspx>

An Introduction to P/Invoke and Marshaling on the Microsoft .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446529.aspx>

Creating a P/Invoke Library

<http://msdn.microsoft.com/en-us/library/aa446550.aspx>

P/Invoking Serial APIs in the Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446551.aspx>

Using dumpbin.exe as an Aid for Declaring P/Invokes

<http://msdn.microsoft.com/en-us/library/aa446532.aspx>

Chapter 8: Deploying Smartphone Application

Deployment Patterns for Microsoft .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446503.aspx>

Smartphone 2003 Application Deployment Demystified

http://msdn.microsoft.com/library/en-us/dnsmtphn2k3htmlsp_2003_app_deploy_demyst.asp?frame=true>

Chapter 9: Interoperability

Connecting Microsoft Mobile Devices to Java Infrastructures

<http://dotnet.sys-con.com/node/47342>

Architecting Disconnected Mobile Applications Using a Service Oriented Architecture

<http://msdn.microsoft.com/en-us/library/aa446503.aspx>

Chapter 10: Game Programming with Smartphone

Games Programming with Cheese: Part One

<http://msdn.microsoft.com/en-us/library/aa446511.aspx>

Games Programming with Cheese: Part Two

<http://msdn.microsoft.com/en-us/library/aa446552.aspx>

Games Programming with Cheese: Part Three

<http://msdn.microsoft.com/en-us/library/aa446553.aspx>

Games Programming with Cheese: Part Four

<http://msdn.microsoft.com/en-us/library/aa446554.aspx>

Chapter 11: Advanced Topics

Security:

A Practical Guide to the Smartphone Application Security and Code Signing Model for Developers

<http://msdn.microsoft.com/en-us/library/ms839377.aspx>

Sending and Receiving SMS Messages:

Receiving SMS Messages Inside a Managed Application

<http://msdn.microsoft.com/en-us/library/aa446561.aspx>

Sending SMSs from your Microsoft .NET Compact Framework-based Applications

<http://msdn.microsoft.com/en-us/library/aa446545.aspx>

Debugging:

Microsoft .NET Compact Framework Debugging

<http://msdn.microsoft.com/en-us/library/aa446495.aspx>

Performance:

An Overview of the .Net Compact Framework Garbage Collector

<http://weblogs.asp.net/stevenpr/archive/2004/07/26/197254.aspx>

Microsoft .NET Compact Framework Multi-threading Tips

<http://msdn.microsoft.com/en-us/library/aa446540.aspx>

Microsoft .NET Compact Framework Background Processing Techniques

<http://msdn.microsoft.com/en-us/library/aa446488.aspx>

Improving Microsoft .NET Compact Framework-based Application Form Load Performance

<http://msdn.microsoft.com/en-us/library/aa446535.aspx>

Developing Well Performing .NET Compact Framework Applications

<http://msdn.microsoft.com/en-us/library/aa446542.aspx>

.Net Compact Framework Advanced Memory Management

<http://weblogs.asp.net/mikezintel/archive/2004/12/08/278153.aspx>

Miscellaneous:

Creating Self-Updating Applications With the .NET Compact Framework

<http://msdn.microsoft.com/en-us/library/aa446487.aspx>

Improving .NET Compact Framework HTTP Communications using HttpWebRequest and Custom ASP.NET Providers

<http://msdn.microsoft.com/en-us/library/aa446517.aspx>

Connecting a Smartphone 2003 Application to a Remoting Infrastructure

<http://www.devx.com/dotnet/article/22460>

.NET Compact Framework Mobile Web Server Architecture

<http://msdn.microsoft.com/en-us/library/aa446537.aspx>

Chapter 12: What's Next

What's New in the .NET Compact Framework 2.0

<http://msdn2.microsoft.com/library/ws1c3xeh.aspx>

Other Resources (Links gathered from comments)

Pragmatic Smartphone Application Hints and Tricks:
http://homepages.inspire.net.nz/~gambit/Article/

Programming Smartphone 2002/2003/SE with Embedded Visual Basic (eVB):
http://www.omnisoft.com/articles/spevb/default.asp

Smartphone "Tip-o-the-Day"
http://spaces.msn.com/members/lesgainous/