The fork on the road for this choice has many options. To get an idea of the amplitude of choices you can visit www.propertycross.com. The creators of this site (Colin Eberhardt and Chris Price) have come up with a very simple business problem domain: how to show properties for sale in a given location or geographical location via any mobile device running the Windows Phone, Android, or iOS platforms. They then proceeded to provide solutions (in some cases recruiting extra help) to that "business problem" in several mobile Frameworks (including native implementation for each platform). They use lines-of-code metric in order to make comparisons between the code that is generated for each of the Framework-specific implementations. For each implementation, PropertyCross.com shows you the total lines of code that are common across the platforms and how many lines of code each of the platform-specific implementations took. They are also tracking any bugs pertinent to each implementation. For more specific requirements about the business problem that PropertyCross.com is trying to address, please visit the following link.
I am not, by any means, a mobile application expert, but I can become a good observer/follower of the experts on this field. As I try to educate myself on this domain, some aspects become critical criteria for making a choice:
- what are the business objectives of the "go mobile" initiative
- if the business objectives for the mobile effort are not clear it will be very difficult to have a mobile solution that adds positive cash flow to your enterprise
- which mobile framework offers support for or the implementation of a presentation pattern: MVVM, MVC, MVP, others?
- taking advantage of a presentation pattern can positively impact the amount of common behavior that an application can share as it is implemented in distinct device platforms
- which framework aligns best with your current technology stack as far as the talent and know-how you already have
- it would be more efficient to minimize the amount of retooling that you need to achieve in order to produce a mobile app
- what device features are needed to implement the solution?
- if the solution relies on device features like GPS, camera, gyroscopes, motion sensors, peripherals (i.e. credit card reader), then you are better off writing native code to the device
- if, on the other hand, your solution does not require any of these device-features, then you should consider reducing your development costs and sticking with a non-native pure Javascript/HTML5 type of solution - don't go to crazy with bells and whistles though, remember JS code execution is interpreted.
Are there other criteria that you would include in your top 3 or top 5 for developing mobile applications? What are some of the challenges (as you see it) that companies are facing today as they choose to go mobile?
No comments:
Post a Comment