Mobile Development with C#
Building Native iOS, Android, and Windows Phone Applications
Publisher: O'Reilly Media
Released: May 2012
Pages: 174

It’s true: you can build native apps for iOS, Android, and Windows Phone with C# and the .NET Framework—with help from MonoTouch and Mono for Android. This hands-on guide shows you how to reuse one codebase across all three platforms by combining the business logic layer of your C# app with separate, fully native UIs. It’s an ideal marriage of platform-specific development and the "write once, run everywhere" philosophy.

By building a series of simple applications, you’ll experience the advantages of using .NET in mobile development and learn how to write complete apps that access the unique features of today’s three most important mobile platforms.

  • Learn the building blocks for building applications on iOS, Android, and Windows Phone
  • Discover how the Mono tools interact with iOS and Android
  • Use several techniques and patterns for maximizing non-UI code reuse
  • Determine how much functionality can go into the shared business logic layer
  • Connect to external resources with .NET’s rich networking stack
  • Read and write data using each platform’s filesystem and local database
  • Create apps to explore the platforms’ location and mapping capabilities
Table of Contents
Product Details
About the Author
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyMobile Development with C#
 
4.7

(based on 3 reviews)

Ratings Distribution

  • 5 Stars

     

    (2)

  • 4 Stars

     

    (1)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

100%

of respondents would recommend this to a friend.

Pros

  • Easy to understand (3)
  • Helpful examples (3)
  • Well-written (3)

Cons

    Best Uses

    • Intermediate (3)
      • Reviewer Profile:
      • Developer (3)

    Reviewed by 3 customers

    Sort by

    Displaying reviews 1-3

    Back to top

     
    5.0

    Excellent Book!

    By Rafael

    from San Diego, CA

    About Me Developer

    Pros

    • Accurate
    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

      Best Uses

      • Intermediate

      Comments about oreilly Mobile Development with C#:

      I'm learning Cross-Platform development and this book has been great to understand how MonoTouch and MonoDroid work. It also addresses code sharing techniques which is important to understand if you're planning to do cross-platform development

      (2 of 2 customers found this review helpful)

       
      4.0

      Cross-Platform Mobile Development w/ C#

      By Ish Ot Jr.

      from Ann Arbor, MI

      About Me Developer

      Verified Reviewer

      Pros

      • Concise
      • Easy to understand
      • Helpful examples
      • Well-written

      Cons

        Best Uses

        • Expert
        • Intermediate

        Comments about oreilly Mobile Development with C#:

        I discovered Mobile Development with C# via Greg Shackles' excellent Cross-Platform Mobile Development with C# webcast. The book advocates a technique of developing native user interfaces for iOS, Android and Windows Phone 7, adhering to each platform's idioms, yet binding each to a common C# codebase – a codebase which could also be leveraged by other .NET-based apps e.g. ASP.NET or even Windows 8 Windows Store apps. It then walks the reader through the development of a series of applications, each sharing common underpinnings while binding to native UIs, and with each building on the techniques and/or code of the previous for the most part.

        What I hoped to get out of this book, and what I think it is most appropriate for, is ascertaining a strategy for facilitating ongoing development of mobile apps across multiple platforms. What I would not recommend it as, yet it somewhat claims to be, is an introduction to mobile development on the three platforms for C# developers. While it does start out with basic "Hello World"-type applications for each OS, the pace becomes fairly rapid from there, and the dependency between layers once the code sharing techniques come into play can lead to some rather difficult debugging scenarios, which I cannot see someone without a sure footing in iOS and Android development concepts extricating themselves from easily. It may be that I prefer to manually re-enter code examples – vs. simply downloading and running them – leaving myself open to such encounters – but I encountered some fairly obtuse error messages along the way – some caused by simple typos or autocompletion mistakes, but others caused by mistakes in the book, or variances in versions of the requisite tools. Things can certainly get confusing as you switch between PC and Mac, MonoDevelop and Visual Studio, platform-specific shared libraries and the shared library that each links to, and the platform-specific apps atop that. In addition, the book requires recollection and comprehension of previous chapters' techniques, often providing only partial code listings, and making frequent "go ahead and do X in the same fashion as was done in Chapter N"-type statements – trivial to the experienced NIB-wrangler perhaps, but far from the step-by-step walkthrough that a mobile development newbie might require.

        The example projects demonstrate the use of interfaces to abstract each platform's implementation details from a shared layer of business logic, the observer pattern via events, per-platform partial classes, conditional compilation, platform-ubiquitous namespaces (thanks to the Mono Framework) and common .NET framework features (e.g. LINQ) over a range of applications. Common networking functionality is leveraged to build a Twitter client, file system and database differences are explored via a note-taking app, and diverse location facilities are unified via a mapping application. The author provides an excellent level of detail on the similarities and disparities between the three platforms, the related opportunities and caveats, and a logical project-based trajectory. The conclusion seemed somewhat jarring, though Appendix B provides a list of books and online resources for further C#-based development on each platform. Overall, the book was a logical extension of the superb presentation that led me to it in the first place, and provided a wealth of ideas and insight which I look forward to applying to current and future mobile app development.

        (3 of 4 customers found this review helpful)

         
        5.0

        Good C# Mobile Development Summary, Code

        By RickerCube

        from Connecticut

        About Me Developer

        Verified Reviewer

        Pros

        • Concise
        • Easy to understand
        • Helpful examples
        • Well-written

        Cons

          Best Uses

          • Intermediate

          Comments about oreilly Mobile Development with C#:

          This is not a book for C# programming novices and it does not try to be that. If you are at least an intermediate level C# developer and want an over-all view of development for the 3 main platforms--iPhone, Android and WinPhone, this is a very good place to start.

          The first part of the book succinctly explains all the approaches to writing portable applications.

          Then code examples of phone features are given for each platform.

          Many authors try to write an encyclopedia of knowledge for a technology not recognizing that many of the chapters will be obsolete within a year. This book will get you moving toward planning and developing your application strategy.

          Displaying reviews 1-3

          Back to top

           
          Buy 2 Get 1 Free Free Shipping Guarantee
          Buying Options
          Immediate Access - Go Digital what's this?
          Ebook: $16.99
          Formats:  DAISY, ePub, Mobi, PDF
          Print & Ebook: $27.49
          Print: $24.99