Important Checkpoints Before Choosing CSharp As a Development Language for Mobile Devices |

Before choosing C# as the development language for developing Android, iOS and Windows Phone apps an organization would have to be sure as to what its development strategy is going to be.
Are they planning to develop mobile business applications for customers and act as vendors?
Are they planning to enable their existing applications on mobile platforms?
Are they planning to help their existing customer develop mobile applications for their existing business applications that the company already supports?
What is their current technology stack being adopted by the company?
Are they planning to reuse existing code?
Is it a requirement to migrate a subset of the business functionality to the mobile platform?
With respect to the above mentioned questions the five most important points to be kept in mind while choosing a .Net language such as C# for mobile development are listed below.Reusability: This is the first factor that comes to mind. Is there any possibility of reusing code written in the past or is there a vision to reuse the code written in the present for the future. If organization is a pure .Net shop and they want to be able to reuse their existing business functionality without having to fuss about rewriting the code using java or objective C then they can simply reuse the existing .Net dll’s. These dll’s will run fine against the mono VM and all they need to do is develop the UI for applications using mono for android or monotouch for iOS. This provides organization with a huge incentive especially if they wish to reuse their existing business functionality. One would always contend that the same could be achieved by developing native applications that call the business services(exposed via REST based web-services).While this approach is also viable and is a well known approach in many cases most of the design enthusiasts would argue that it is better to have the business logic execute as close as possible to the native mobile OS. Hence we are able to reuse the existing business dll’s and just focus on creating the UI for native applications. This is a very key area which organizations need to examine especially if the aim is to reuse the same .Net business logic across multiple mobile platforms.Migration: This is the second factor we need to consider while deciding on the development technology. Many key mobile applications are usually a subset of a larger business application. This is true in cases of most banking mobile applications, social n/w applications, professional n/w application and LOB applications. So in these cases the mobile application is usually a subset of the actual applications functionality. What it means is that the mobile application screens will contain a lesser amount of controls and capture lesser amount of data and perform only the most necessary functions. In such cases migrating an existing .Net application to the android and iOS platform save a lot more effort in getting a mobile version of the business application up and running on the store. Migrating an existing application can be more fruitful and yields rich benefits whilst saving a lot of time in not having to rewrite or re-architect an application in a different language such as java or objective C especially when you have the right set of tools and methodologies in place to carry out the same.Portability: The third key factor we need to consider is whether we would like to create an application that would run on multiple platforms. If we want to multi-target multiple platforms such as iOS, Android and Windows Phone OS then using the mono platform(with C# as dev language) does seem like a good choice and may reap huge benefits. The mono for android and monotouch frameworks lets us develop .Net code which can be reused on multiple platforms. We can use the same multi-targeting approach that was used to build common applications that run on both WPF as well Silverlight engines. We have this advantage when we write a mobile application using mono framework. We can write code once and actually target multiple platforms. The most distinguishing factor of these platforms is their UI architecture, with Android apps having .axml files and iOS platform having its own MVC architecture. If we architect our code smartly we can easily isolate the business logic and utilities section of the code and keep them in separate dll’s that will be able to be used on any of the above mentioned platforms. The respective UI architecture can be generated rapidly using tools or a systematic methodology. In this way we have a single mobile app with a single codebase that is maintained in a single language (C#) and can be ported to multiple platforms.Adaptability: The fourth factor is the adaptability of the development language. With .Net and C# coupled with the Xamarin suite you get a wide variety of options. One can write C# code that can be reused on iOS, Android and Windows Phone devices. Also we are quite aware that with ASP .Net MVC coupled with HTML5 and JQuery we can easily develop mobile apps with look and feel of native apps and with mobile frameworks such as PhoneGAP and JQuery mobile we can easily construct hybrid applications. Hence the .Net framework and C# language provide a very high degree of adaptability as a cross platform development language when coupled along with the Xamarin suite.Return on Investments – ROI is one very important factor that is considered while developing mobile application. Few factors that we need to consider while calculating ROI· Project Cost – What is the initial cost that is required to develop the mobile application?· Benefits from the project – Benefits depends on the type of the application. If it is revenue generating application, benefits will be direct. If it’s a consumer service app, benefits will be indirect· Reach of mobile app – If it’s a web application, reach will be higher but if it’s a native app, reach will be limited to the users of the targeted mobile platformWith Mono framework, you can clearly see benefits considering the above points. Project cost will be well under the limits as only the Mono licenses we need to consider. We do not need any other specific investments. .Net skilled resources are easier to find and are not very expensive. With Mono Framework, all the platforms can be reached which will ensure that more mobile users can be reached with per dollar invested on the project. With a lower project cost and higher reach, even the indirect benefits looks better and ROI is much better.Its very important to keep the above points in mind while choosing C# coupled with the Xamarin suite to develop mobile applications.

The Laptop Computer, Man’s Best Friend |

The Not-So-Serious Side, About Buying A LaptopLaptops: We all know what they are and have seen them around in offices, home communities and in our travels. Most people have own one as their personal computer for many years. But how much do we really know about them? Are they kind to us? Can they keep us from feeling lonely? Are they there when we need them? Can they cuddle up in our laps and keep us warm, on cold winter nights? A lot of people would say yes, as they pondered upon these questions.Laptops remain among the most popular personal computers in the world. Laptops provide us with a powerful mobile tool for business and pleasure. They also provide us with an unnatural yet strange and loveable personal companionship. Some people would speculate that the laptop computer has practically replaced our pet dogs as ‘man’s best friend’ .Pick The Right Breed Of Laptop For YouAmong the many breeds of laptops, finding the particular type that suits an individuals need is an arduous task. One must consider all the different laptop breeds that have been bred for the sole purpose of providing warmth and loveable companionship. I wouldn’t want a laptop computer that does not respond to my gentle fingers on its soft, warm keyboard tummy. Nor would I want one that doesn’t obey my commands after teaching it to sit on my lap for hours while I play games with it.Always know your habits and correlate these with the laptop breed you are interested in as your new companion. If you are someone who is interested in hours and hours of playful enjoyment; then pick a laptop breed that loves to play, not one that just goes for a walk to the park or goes to work with you. Pick a smart breed that will not tire out (fast CPU, maximum memory, fast video and large hard drive) and will provide a lot of gaming playfulness. If you just want some basic companionship, you might consider a less active breed (a basic CPU, minimum memory, basic video and basic hard drive). Whatever breed you decide on, remember that you will be together for many years, so be sure you have love for it from the start and choose well.Take a week to review your potential companionship commitment. Be sure you are able to feed (recharge the battery) and shelter (laptop bag) your new best friend with love. Make sure that you want and can care properly for a laptop, and, if after a week you feel you can, then start your new companionship by purchasing your laptop!Remember, a laptop computer is only as smart as you are. So teach it to sit, run, lie on your lap, and above all, to work and play with you. Be sure to take your new companion for long walks and car rides, on the way to and from work. This way you will have many joyful hours of loveable companionship with your newfound friend! A laptop computer just might be the worlds newest ‘man’s best friend’!