247 LABS; is involved in mobile application development to run on smart phones for small, midsize and startup companies. These Toronto outsourcing projects are mainly for RIM Blackberry, Palm OS, Windows Mobile, Google Android, Linux, Symbian, Apple iPhone, and BREW platforms. In mobile app developers these mobile apps we are using Java ME, Java/J2ME/J2EE, C, C++, Objective-C, .NET, MIDP, Python, Flash Lite, and other languages and open source technologies along with OpenGL ES, M3G APIs, visual form based GUI Builder, widgets, and interface builders for 2D and 3D graphics, Mobile Media API (MMAPI), Wireless Messaging API (WMA) for J2ME, Google APIs, and others in our software development and outsourcing labs in Canada. 247 LABS; mobility consulting team is designing applications for almost all hardware platforms including Nokia, Sony-Ericsson, Motorola, Samsung, Palm, Blackberry, Apple, HTC, Qualcomm, and T-mobile.
Often the question in mobile and smartphone based application development and design is whether to develop an application as a fat (a mobile device based) or a thin (a server based) client. Due to recent advancements in the mobile and cell phone manufacturing and capabilities from Nokia, Blackberry, Motorola, Samsung, Palm, Sony-Ericsson, HTC, Apple iPhone and others, as well as reliable Internet and mobile connectivity both options are viable. In a fat client model where the application is device based and runs efficiently in the handset without requiring any Internet connectivity, it is often an attractive option. A large number of mobile applications designed and developed on Palm OS, Blackberry, Google Android, Windows Mobile, Symbian, Linux, BREW, and Apple iPhone so far are mobile handset based. On the other hand due to tremendous improvements in wireless carriers’ cellular networks and reliable Internet connections (from AT&T;, Verizon, Sprint-Nextel, T-mobile, Vodafone, O2, Orange, BT, NTT and others) and handsets’ Internet browser capabilities, a large number of mobile apps are being developed to run as thin clients where the main application runs on the server side and accessed through handheld smart cell phones. Multiplayer games, puzzles, music, TV, voice, broadband and other consumer and business applications needing real-time interaction among multiple players and participants are getting popular in the thin client category. There are a few limitations to keep in mind while mobile app developers a mobile app, whether for consumers or enterprises: small screen sizes and varying aspect ratios, and importantly varying hardware and OS platforms. These factors made it difficult to write a mobile app once and run on multiple platforms. Varying nature of hardware platforms, software capabilities and low fidelity APIs made application development for mobile handsets and smart phones quite time consuming and expensive.
We use .NET Visual Studio, C and C++ to develop applications for Windows Mobile applications. Windows Mobile SDK allows us to author, debug, and package our application for delivery from one easy-to-use interface. In .NET we are using ASP.NET, VB.NET and C#.NET (with Ajax capabilities) for these mobile apps development with the latest SDK and device emulators. Some enterprise mobile applications require using SQL Server CE (i.e., SQL CE) for data synchronization and database access. In many of our projects we are exploring to write device-independent Windows Mobile Applications with the .NET Compact Framework.
247 LABS; mobile application development and design team is using C, C++ programming languages for enterprise mobile apps, consumer games, music, TV, voice, broadband and other apps on Symbian, Palm OS, and BREW platforms. For Apple iPhone (and Mac OS X) application design and development Objective-C and occasionally Cocoa are being used.
For graphical interfaces in most mobile applications 247 LABS; Toronto software development team is using OpenGL ES, M3G, Visual form based GUI Builder, some widgets, and interface builder for 2D and 3D graphics. For most platforms (like iPhone, Blackberry, Google Android, Palm, Windows mobile, Linux, Symbian, and BREW) free development SDKs are available. Cross platform deployment of apps is still limited mostly within a specific platform due to API and OS limitations, requiring sometimes a recompile or a complete rewrite for a target platform. Deployments between iPhone and iPod, between Windows Mobile and Windows CE for Pocket PC and Palm OS are possible.