Building a touch first desktop (non-metro) application for WIndows 8 - touch

I'm currently in the early design phase for a lob application I'm going to be making for my company which is targeted for Windows 8 tablets. It won't meet the standards for a metro app (will be using SQL Server and other reasons) but I like the look and feel of metro apps since they're touch first designed. Are the Microsoft supplied templates/controls/themes able to be used with a desktop app?

Metro project templates will not work as desktop apps. Metro apps rely on Win RT and Desktop apps rely on Win32 or .Net. The Windows 8 platform image shows the clear distinction in targets.
There is no implementation of metro style controls for desktop in Developer Preview.

Related

What is the difference of Windows 8 Phone Application and Metro Style Application?

I will develop an application for Windows Phone 8. But i also want to make this application is usable on the other Windows 8 platforms. Wondering that, Does it work as a metro-style application? Or I will have to develope two different applications.
The APIs are similar in some aspects (use of XAML, C#, common WinRT libraries), BUT there are some significant differences.
For instance:
The XAML/UI layer in Windows Phone is based on the Silverlight stack, and differs from that for Windows Store.
Not possible to write WinRT HTML5/JS app on phone (but it is possible to use WebBrowserControl to host HTML5 app especially with tools such as PhoneGap).
No C++/XAML development on phone (C++/DirectX is supported).
Phone has dedicated APIs in WinRT and .NET that aren't available on Windows Store.
Basically you'll have to produce two apps but you should be able to share large amounts of code between the two.
See http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj714089(v=vs.105).aspx for more details...
They are the same type of application and use the same apis. A few changes may be needed but If you are looking for a general answer then yes, it will work as a metro app but will require modifications.

What is Windows Metro style app

Could anybody in simple term explain what is Windows Metro style app? What is the purpose and what kind of application we can make using this?
Any link for beginners will be of great use..
Thanks
"Metro style apps are full screen apps tailored to your users' needs, tailored to the device they run on, tailored for touch interaction, and tailored to the Windows user interface. Windows helps you interact with your users, and your users interact with your app." from MSDN.
All about developing for Windows 8:
http://www.buildwindows.com/
When developing Metro apps you can chose from a variety of languages and technologies:
HTML + JS + CSS
XAML + (C# or VB)
XAML + (C++ or C)
A Metro style app is an app built using HTML5 or XAML+(C#,VB or C++), on Microsoft's new APIs - in short, it's a an app-widget-kinda-thing. Note that this is cross-platform compatible (Windows 8 will support ARM with metro apps) and that standard x86 apps built the "old way" will still continue to work, but are not considered metro apps, nor are they cross-platform compatible. There is also an app store for metro apps.
Due to the lack of system APIs, these apps are fairly limited - think iOS style apps, where it's sandboxed. Metro apps also make use of the cloud more than ever for data storage, and are required to stay open (user should not quit a metro app) unless rebooted or via task manager.
Links: http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1004
Metro style application redesigns the Windows user interface (more focus on clean typography and less on UI chrome),have a full screen UI, introduced Flat colored “live tiles”(update user about the application and draw them into application) ,heaving touch-centric style, designed for multitasking(Snapped view, Filled view),can be packaged up and distributed via the “Windows Application store ” and can be deployed in multiple locals and languages.
Metro apps are touch-screen-friendly apps written especially for Microsoft's WinRT programming interfaces.
ARM-based Windows RT devices, such as the Surface tablet, will only be able to run Metro apps. Devices running Windows 8 will be able to run both Metro apps and Win32 apps.
Metro apps will be available for distribution on the Windows Store.

Native Mobile browser based apps

Wondering if someone could point me in the right direction, as I am unsure of the correct terminology. I am looking to create a mobile website, which loads in a browser based application (iPhone, Android).
I have seen this done before. For example, the bank of america application is actually installed via the App Store, however, it is simple a browser window that loads the Bank of America mobile site (which is built to look and function like an app).
I find this to more cost-effective, as developing a mobile app is less intense, as opposed to developing applications for 2-3 different mobile platforms.
Can someone provide insight into the terminology or methods used to accomplish this? Looking for articles, examples, etc.
Thanks in advanced!
I would suggest to use IBM Worklight.
Worklight is an Eclipse-based visual development and server platform for mobile apps. Using Worklight and popular open technologies, you can build, test, deploy, and manage your smartphone and tablet apps for iOS, Android, Blackberry, and Windows Phone devices, with maximum code reuse and per-device optimization.
Worklight supports open technologies such as HTML5, CSS3, JavaScript, Apache Cordova, and popular JavaScript frameworks such as jQuery, Dojo Mobile, and Sencha Touch.
Worklight offers extensive runtime libraries and client APIs that expose and interface with native device functionality.
Worklight includes a browser simulator so you can test and optimize the user experience of your mobile content on varying mobile devices.
Worklight consists of an IDE (Worklight Studio), a Java-based server, device runtime components, a web-based console for managing deployments, and an application center.
for more info see
http://www.ibm.com/developerworks/mobile/worklight/getting-started.html
Take a look at PhoneGap or Appcelerator, two of the bigger names in this "native wrapper" technology.

Portability among mobile platforms

Do any libraries or other development resources exist that can help reduce the effort involved in porting applications between various mobile platforms? In particular, I am interested in supporting iPhone, Android, and Windows Phone 7. Some areas of concern include UI, client-server communication, and hardware support (e.g., camera, GPS, etc).
MonoTouch allows you to write iPhone apps using .NET (C#). In the near future, an Android version will also be available (MonoDroid)
As for Windows Mobile, I'd forget about that and concentrate on Windows Phone 7, which will use Silverlight for apps. And of course, Silverlight is .NET as well, so you can share all your business logic between Silverlight, MonoTouch (iPhone) and MonoDroid (Android)
There is actually a really good tool out there that allows you to write apps for android and iphone in javascrpit, HTML and CSS. Then the program will port the app for either iphone or android, building the objective C code (iphone) or java code (android) as it compiles. Later revisions of the program are said to include the ability to port to palm and blackberry as well. And the bonus... free and open-source!!
PhoneGap supports Android, Blackberry, and iPhone formally. They tweeted that it works on Windows Phone 7, but it's a bit early to feel certain of that, since that OS has not shipped yet. Has reasonable but far from complete hardware support.
Well it appears that iSpectrum seems to be what you're looking for.
You'll find a video on their website homepage ( http://www.flexycore.com/ ) which shows a 3D android game they ported in only 2 days!
All mobile platforms I've encountered so far have C89-compatible compilers, so that is what you want to use for the core application logic if you have high portability requirements.
The product I'm working on can currently be built and run on Android, iPhone, Symbian, Windows Mobile and some other proprietary platforms (Nintendo handhelds) and legacy platforms (PalmOS, OSE) as well as "real" machines (Linux and Solaris servers).
Of course the UI code has to be written specifically for each platform, but the core is built from the same source code for all targets.

How to develop products on mobile phones

Recently we are going to develop some products on mobile phone (specially for 3g). There are many platforms about mobile phones: iPhone OS, Symbian, Blackberry's. If I want to develop a product, should I use Java or write every program for the main platforms?
Particular one question for iPhone development: are there many Java programs on iPhone? Most iphone app I've seen are developed by their own xCode.
I need some guidance on how to do coding for mobiles correctly.
All these platforms are completely different beasts as in the old days. About symbian, (which I am most familiar with) you can use Qt for quality native applications. Native api is confusing so avoid it where possible. If your application is simple, you can even get away with python.
In short, use the language which you are most productive available for each platform. Their apis are wildly different anyway. Language choice doesn't matter as much as the choice of platforms you are supporting.
Java is not available for use on the iPhone; you can use Objective-C, C and C++ to develop iPhone applications.
There is currently no Java for iPhone, so you need to develop separately for iPhone in objective C.
Alternatively you can create application which runs in web browser, it'll be available on all platforms, but not every application is suitable for web.
Have you considered you using web technologies?
There are a couple of cross platform tool kits for iPhone and Android. They work in the same fashion as Adobe Air. Allowing you to make HTML/JS based web app and run it as native code in the browser.
Titanium Mobile (Android & iPhone) HTML/CSS/JS
Corona iPhone Only via Lua
Palm's Web OS is also based on web technologies.
Finally the old guard, Symbian Provides a Web Widgets system, that works in on all handsets with 9.2 fp 2 installed (n95,e72, n97 etc.) The api supports some hardware functionality.
The only one left out in the cold is Windows Mobile. There is some 3rd party support in the form of Web Widgets by torch mobile
It's currently limited to iPhone, BlackBerry, and Android (and possibly WinMo) but you may want to check out the open source project called PhoneGap. I think it is basically just a native wrapper around the built in web browser for each device, but it does expose some functionality not normally available in that environment such as geolocation, accelerometer, sound, etc.