Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / Javascript

Welcome to PhoneJS!

5.00/5 (3 votes)
9 Aug 2013CPOL4 min read 18.9K  
Welcome to PhoneJS

This article is for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers

First, a message from my marketing team: PhoneJS is a professional framework that includes everything you need to create native-looking cross-platform mobile applications using HTML5 and JavaScript.

Now they're happy, let's talk about what it really is as far as we developers are concerned.

Why not native?

Without a doubt, over the past couple of years HTML5 and JavaScript have grown to become a solid foundation for building web apps. At the same time, the browsers on mobile devices (along with the speed of the hardware) have improved to the extent that mobile web apps are a viable alternative to native apps. And, of course, the main benefit of writing JavaScript apps is that they will run on all devices; the only drawback is that they won't look native.

And that's where PhoneJS comes in: our designers have tweaked and retweaked the framework's CSS to the extent that apps you write look native on every platform supported. Not only that, with Apache Cordova (or Adobe PhoneGap) you have the capability to compile those apps to real mobile apps that can access the native platform (the camera, accelerometer, GPS, etc) and be submitted to the appropriate app store.

Although HTML5/JS, together with PhoneGap, are a good starting point, a mobile developer still faces a lot of difficult tasks to solve: view management, device-specific layouts, caching, state management, and so on.

Enter PhoneJS

PhoneJS is built upon a robust foundation of jQuery and Knockout: jQuery for the fast access to the DOM and other capabilities, and Knockout for the stable MVVM implementation (Model-View-ViewModel). Of course, part of the foundation is the support of the PhoneGap API so you can seamlessly access the native device capabilities in compiled apps.

Building on this foundation, PhoneJS provides a framework for writing Single Page Applications (SPAs). This includes URL routing, a flexible view rendering engine, adaptive layouts, and a comprehensive library of user interface widgets. Not only are there the common navigational elements like buttons, ON/OFF switches, date pickers, maps, galleries (all optimized for touch and with a native look-and-feel), but there are also advanced features such as infinite lists, pull-down-to-refresh gestures, and so on.

It bears repeating: when you use any of the widgets in a PhoneJS SPA application, the framework will automatically change their appearance and behavior to match the look and feel of the platform. To see what they look like and how they work, check out our aptly named Kitchen Sink demo.

PhoneJS is for you

We're a bunch of die-hard JavaScript fans and web developers, and we created PhoneJS especially for people like ourselves. And that means you. We're not going to sugarcoat it: we've aimed this framework at people who feel confident about writing web apps with HTML5, CSS3, and JavaScript, but who are looking for a robust library to manage the cross-platform aspects of writing a mobile web app. The learning curve is not too steep: it's easy to build up your app view by view (and ViewModel by ViewModel) and refine and polish.

Even better, PhoneJS is not tied to any specific operating system or development tools. To start creating cross-platform mobile apps all you need is your favorite web browser, local web server and any text editor. Our team use Macs and Windows machines; TextMate, Sublime Text, and even Visual Studio on occasion.

PhoneJS apps can be launched in a mobile browser, or in your favorite emulation tool. With PhoneGap, you can compile your apps to be published to the AppStore, Google Play, and Windows Phone Store.

Where? When? How?

Are you ready to get started? Great! Read our online documentation, follow our tutorials or play with the demos. More importantly, download PhoneJS here. Finally, if you get stuck, we're here to help: our support team is ready to answer your questions and get you on track again.

PhoneJS is free for non-commercial use. For commercial apps, please check the prices at the Buy page.

We crave feedback

We're convinced PhoneJS is the best thing since sliced bread, but we're not so blinkered to think it can't be improved. Let us know: email us at support@devexpress.com with your feedback and your experiences in using the framework. We love to hear from our users!

Download & Try

Download a free copy of the DevExpress WPF controls that help you build rich and powerful user interfaces with the versatile MVVM framework.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)