As a new developer for Windows Phone 8 (will be called WP8 from now), yet an experienced one of android, I wonder what difficulties will I have when developing for the WP8.
I would like to ask people who have developed for this OS, to learn from their experience.
To be more specific, here are some of my questions:
-
App size limit: On Android, each app has a maximum size of 50 MB yet for larger apps there is a library to enlarge it up to 4GB (in additional to the 50MB). Is there a limit on WP8? if so, what is it, and is there a way to extend it too?
-
Memory limitation: On Android, each app has a relatively small max heap size limit . Each app can use memory up to this limit, and if it tries to use more , the app crashes with out-of-memory exception. what does WP8 have? Does it have a virtual memory like on windows?
-
Emulation&designer vs devices: On Android , the emulator is really slow (yet very functional) , and both the emulator and the UI designer don’t always have the same visual screen as on a real device. For example , on the emulator (or especially the UI designer) if the screen is shown in one way , it might be shown in a totally different way . Can the emulator (and UI designer) of WP8 be respected and really be used instead of a real device?
-
IDEs useful warnings & tips: On Android , each version has its own new API features , yet the IDE (using the LINT tool) will warn you if you use a too-new feature for the app in case it can run on older devices. Not only that, but it has tons of warnings and tips to assist you and become a better developer . Does Visual Studio has the same features hidden somewhere for development on WP8 ?
-
Multi-screen support: On Android, many steps were taken in order to support multiple screens, resolutions and densities . They even made a length unit called DP which has a number of pixels based on the density of the device . What does WP8 have to offer in order to support multiple screens? Do I have to check for such things by myself, or is there any out-of-the-box solution? I’ve also noticed a class called ViewBox – is it common to use it as a solution for handling different aspect ratio of screens ?
-
Low memory footprint UI components: On Android, some UI components were created with the thought of using as little memory as possible. As an example, all of the UI components that extend from AdapterView use an adapter which uses the minimal number of UI components to show an unlimited amount of data that the user can scroll (for example the listView class). Does WP8 have a similar solution?
-
Other tips : Would love to hear other general tips about your experience, and if there are some things to be aware of. Maybe other topics that some of you know of, or things that other android developers have faced when developing for WP8 .
Thank you for your time.
My opinions:
1- I haven’t heard that kind of limit before.
2- Memory usage limit for windows phone 8
3 & 5- There is no units like “px” or “dpi” in wp8 (xaml) like android. You just say “let this box be 10” and then operating system will handle this according to the screen resolution. If your app works on the emulator properly, your app will work on other devices as well as the emulator.
6- Silverlight has a feature called “Data binding”. You can bind any object to your UI. You just need to initialize your object and then you don’t need to do any listview or textview operation, Silverlight will handle it. (http://www.codeproject.com/Articles/80555/Databinding-in-Silverlight-applications)
7- WP8 SDK does not support all features of C# Libraries. You should be aware of this.