• Go DevMENTAL

    What cross platform development tools support Windows 8 and Windows Phone?

    • 11 Comments

    Want your app on multiple platforms without rewriting all the code? Here’s a summary of some of the tools, libraries and SDKs out there to support building multi-platform apps.

    Every mobile developer struggles with the decision of which platforms to support, and most end up building for more than one platform. I am frequently asked what tools are out there to make it easier to build for multiple platforms. Well, there are lots of options out there for you, everything from professional paid tools to open source libraries. I decided to sit down and put together a list for you. Information is all based on what I could find on their websites at the time this blog was posted. For the most up-to-date information I recommend you visit the product sites themselves. Each product title is linked back to their website. There are some gaming and graphic specific tools listed as well.

    Don't forget good design of your app also makes it easier to implement on multiple platforms. Using a Model View ViewModel architecture makes it easier to re-use your code. Check out this MVVM Light Toolkit or Okra (formerly Cocoon) to help you get started with the MVVM model pattern in XAML. This is great when combined with portable class libraries which allows you to share code between Windows Phone 8 and Windows 8 apps.

    appDesigner

    • Platform support: Windows 8, iOS
    • Price: Revenue from published apps is split 50/50
    • Coding language: HTML5
    • Development Environment: appDesigner
    • Description: Use AppDesigner to create an interactive app with drag and drop images, video, and audio files to prototype. Once you’ve finished upload to AppDesigner.com. The business development team reviews your app concept and provides and upload code to build the finished app. When you receive your upload code, you upload your app concept and the technicians build a native app for the store.

    Xamarin.Mobile 

    • Platform support: Windows 8 and Windows Phone 8 support, iOS, and Android
    • Price: around $999
    • Coding language: C#
    • Development Environment: Visual Studio, or MonoDevelop IDE on PC or Mac
    • Description: A library that exposes a single set of APIs for accessing common mobile device functionality across iOS, Android and Windows platforms. This increases the amount of code you can share across mobile platforms making app development easier and faster. They currently abstract contacts, camera, and geo-location. Future plans include notifications and accelerometer services.

    Trigger.io

    • Platform support: Windows Phone 8, iOS, Android
    • Price: starts at $19/month pricing varies based on Number of developers and number of apps
    • Coding language: HTML5, JavaScript
    • Development Environment: Trigger.io Toolkit or use your own IDE
    • Description: Build apps using the best of HTML5 and native. Forge is a development framework which enables you to create native apps for multiple platforms from a single HTML% codebase. It consists of a JavaScript API that exposes device functionality and UI components such as the Camera, SMS, Contacts, Topbar and Tabbar navigation and a cloud build service to compile your app for each platform that you want to support.

    Appcelerator

    • Platform support: Windows Phone 8, Windows 8 (coming early 2013), iOS, Android, mobile web
    • Price: packages listed on website but not prices
    • Coding language: HTML5, JavaScript
    • Development Environment: Titanium Studio
    • Description: Appcelerator is the first application development mobile platform to combine the flexibility of open source development technologies with the power of cloud services. Develop using a JavaScript based development platform. Leverage experiences like push notifications with the cloud services.

    Marmalade

    • Platform support: Windows Phone 8 (end of 2012), Windows 8 (early 2013), iOS, Android, BlackBerry
    • Price: There is a free license for students and educational institutions. Community license is $149, Indie license is $499
    • Coding language: HTML5, JavaScript
    • Development Environment: Visual Studio
    • Description: Tool that allows you to develop cross-platform native games and apps in C/C++ and deploy to both mobile and desktop with a unified toolset. You can submit your games and apps to stores like Steam and you can now mix HTML5 with native platform code.

    Apache Cordova (formerly known as PhoneGap)

    • Platform support: Windows Phone support, Android, iOS, Blackberry, QT, WebOS
    • Price: Open source
    • Coding language – HTML, CSS, JavaScript
    • Description: Set of device APIs that allow a movile app developer to access native device function such as camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript. Because these JavaScript APIs are consisted across multiple device platforms and built on web standards, the app should be portable to other device platforms with minimal to no changes. Apps using Cordova can be made available from the device’s app store

    Sencha Touch

    • Platform support: Windows Phone 8 (coming soon), iOS, Android, BlackBerry, Kindle Fire
    • Price: There are free options, but it depends on licensing model
    • Coding language – HTML, CSS
    • Development Environment: Sencha Cmd
    • Description: A high performance HTML5 mobile application framework. With over 50 built-in components, state management, and a built in MVC system, Sencha Touch provides everything you need to create universal mobile web apps.

    Embarcadero RAD Studio XE3

    • Platform support: Windows 8, Mac OS,
    • Price: There are special programs for academic usage, editions but not prices are listed on the site
    • Coding language: HTML5, C++
    • Development Environment: RAD Studio XE3
    • Description: A way to build data rich visually engaging applications for Windows 8, Mac, Web and mobile.

    appMobi

    • Platform support: Windows 8, Windows Phone 8, iOS, Android, Open Web
    • Price: For hobby developers free but no cloud services, for money making apps charges based on monthly active users
    • Coding language: HTML5
    • Development Environment: appMobi or your own IDE
    • Description: A complete ecosystem to support cross platform mobile app development and deployment using HTML5. appMobi augments HTML5 by providing functions that HTML5 lacks: device and OS interface, user authentication, in app purchasing, rich media push messaging, gamification, social networking, live app updates. From a single HTML5 code base, store ready apps can be built for a variety of platforms.

    RhoMobile

    • Platform support: Windows Phone 7, Windows Embedded, Windows desktop, iOS, Blackberry
    • Price: Couldn't find any pricing information on the site
    • Coding language: HTML5
    • Development Environment: RhoMobile Suite
    • Description: Let's you create flexible OS independent applications that look, feel and act the same on every supported device. device type, operating system and screen size doesn't matter. You control how applications behave on different devices.

    jQuery mobile

    • Platform support: Windows Phone 7, Windows Phone 8, iOS, Android, Blackberry, Symbian
    • Price: Open Source
    • Coding language: HTML5, JavaScript
    • Development Environment: Visual Studio
    • Description: A unified, HTML5 based user interface system for all popular mobile device platforms, built on the jQuery and jQuery UI foundation. Lightweight code with a flexible easily themable design

    3D Graphics and Gaming

    Yo Yo Games GameMaker

    • Platform support: Windows Phone 8, Windows 8,
    • Price: Studio (Free), Standard ($49.99 can export to Windows 8), Professional ($99.99 can export to Windows Phone with $199.99 add-on), Master ($499.99 can export to all supported platforms)
    • Coding language: Drag & Drop and GameMaker Language (GML)
    • Development Environment: GameMaker Studio
    • Description: Caters to entry level novices and seasoned game development professionals equally allowing them to create casual and social games for mobile, desktop and the web. Developers can create fully functional prototypes in just a few hours, and a full game in just a matter of weeks. When you’re done GameMaker will produce an app store ready app for different stores from the same source code.

    Unity

    • Platform support: Windows 8 and Windows Phone 8 (coming soon), iOS, Android
    • Price: Unity Pro is $1500 + add-on for different marketplaces
    • Coding language – C#, JavaScript, Boo
    • Development Environment: Unity Pro
    • Description: Unity allows you to create and market high quality games with less time, cost and effort. They have an entire mobile game development ecosystem: powerful rendering engine, continuously updated development toolset that includes real-time shadows and dynamic fonts; in-depth documentation; thousands of ready-made assets.

    Construct2 by Scirra

    • Platform support: Windows 8, Windows Phone 8 (added Nov 30, 2012), iOS, Android, Facebook, Web, Desktop
    • Price: Free edition to make games supports windows 8 app but has limited events, layers and effects, If you plan to make money you need personal version is 70 British pounds, if you plan to make serious money (over $5000 USD) the business edition is 259 British pounds
    • Coding language – drag, drop, click
    • Development Environment: Construct 2
    • Description: A code free 2D game engine that allows you to add physics effects to your games, special effects, and is extendible with a JavaScript SDK

    monogame

    • Platform support: Windows 8, Android, iOS, Mac
    • Price: open source
    • Development Environment: Visual Studio or MonoDevelop
    • Description: If you are comfortable developing with XNA, this is an interesting option. MonoGame is an open source implementation of the Microsoft XNA Framework. Their goal is to allow XNA developers on Xbox 360, Windows and Windows Phone to port their games to iOS, Android, Mac OS X, Linux, and Windows 8.

     Cocos2d 

    • Platform support: Windows 8, Windows Phone 8, Windows Phone 7 (with XNA) iOS, Android, BlackBerry
    • Price: Open Source
    • Coding language: C++, C# (for Windows Phone 7)
    • Development Environment: Visual Studio, Eclipse, xcode
    • Description: An open source mobile 2D Game framework. Mobile games can be written in C++, Lua, or JavaScript. The goal of this open-source project is to allow users to create cross-platform code.

    SharpDX

    • Platform support: Windows 8, Windows Phone 8, .NET Framework, Windows
    • Price: Open Source
    • Coding language: .NET
    • Development Environment: Visual Studio
    • Description: SharpDX is a free and active open source project that delivers a full featured Managed DirectX API under the .NET Platform. It is used to make games, advanced rendering or multimedia applications. Develop multimedia applications for desktop, WinRT and Windows Phone with the same API

     

    Ogre3D

    • Platform support: Windows 8 (community created), Windows Phone 8, more…
    • Price: Open Source
    • Coding language: C++
    • Development Environment: A C++ Compiler (e.g. Visual Studio)
    • Description: An open sources graphics rendering engine. An open source easy to use OO interface designed to minimize the effort required to render 3D scenes and to be independent of 3D implementation (i.e. Direct3D/OpenGL). It is not a gaming engine, just a graphics engine. You need to know how to program, Ogre is not a game shell or scripting language. It requires more knowledge to use properly, but it is also more powerful tha a scripting kit will be. There are wrappers that offer the possibility to use other programming languages that C++ but they are not officially supported by the Ogre Core Team. (MOGRE is the .NET version)

    Axiom 3D

    • Platform support: XNA & DirectX (so Windows Phone & Windows 8)
    • Price: Open Source
    • Coding language: .NET
    • Development Environment: Visual Studio
    • Description: The Axiom 3D rendering engine is a Object oriented 3D graphics engine using C# and the .NET platform. It is an easy to use, flexible, extendable, and powerful engine that allows for rapid development of games and other graphical applications. The core of Axiom is a port of the OGRE Graphics engine.

    Game Salad

    • Platform support: Windows 8, iOS, Android, Mac
    • Price: To publish to the Windows 8 store or Android store you need the Pro edition which is $299/year, they advertise student pricing available
    • Coding language: drag & drop
    • Development Environment: GameSalad Creator
    • Description: GameSalad Creator provides a visual drag and drop interface and complex behavior library to provide almost limitless freedom to game designers. Create games fast with no coding. Their web publishing system allows for cross platform game publishing.

    I’m sure there are some I missed, feel free to add comments to point out any good tools and tips for cross platform development that you have discovered. Don’t forget in Canada when you publish your app you could earn rewards through Developer Movement!

  • Go DevMENTAL

    Building a great Windows 8 app Step 4: Pick your programming language

    • 5 Comments
    Windows 8 start screenWhat’s the best programming language for your Windows 8 app? .NET, JavaScript with HTML/Canvas, or C++?

    This blog is part of a series, you can see the rest of the series here.

    If you want to develop for Windows 8, you need to decide which programming model best suits your needs and skills and find some resources to help you get started with your chosen model. Don’t forget in Canada, any app you publish before end of March 2013 can earn you rewards through the Developer Movement, and students building apps can enter them in Imagine Cup!

    Let’s look at options for different types of developers:

    • Are you a web developer?
    • Are you a game developer?
    • Are you a .NET developer?
    • Are you a Java developer?
    • Are you a C++ developer?
    • Are you an iOS developer?
    • Are you an Android developer?

    Are you a web developer?

    If you’ve been coding HTML, HTML5, CSS or JavaScript you can use those same programming skills to build a Windows 8 app. To get started check out the Roadmap for Windows 8 apps using JavaScript.

    Websites have been built with HTML, CSS and JavaScript for years. In the past few years the trend has been towards HTML5. Microsoft started to enter the HTML5 world with Internet Explorer 9. IE9 added a lot of support to HTML5 features, and IE10 took it even further. Windows 8 continues the trend of supporting HTML5. If you haven’t explored it yet, HTML5 is more than just new markup tags like <video> and <audio> it includes improvements to CSS (like media queries to handle different screen sizes) and updates to JavaScript. HTML5 has been gaining in popularity in the web space because it does not require any plug ins and every year more HTML5 features are being supported by more browsers. So if you are already developing websites with HTML and JavaScript take what you know and apply it to Windows 8 app development.

    Are you a game developer?

    There are a number of options for game development on Windows 8, what makes sense for you depends on your existing game experience and the complexity of the game you plan to build.

    C++

    I would not recommend C++ and DirectX for a beginner programmer, but, when it comes to high performance games, serious gamers turn to C++ and DirectX. With DirectX and C++ you can build great games for Windows 8. To get started, check out the Developing Games for Windows 8 or Developing apps with C++ and DirectX (scroll down to the section Game Programming in C++.)

    JavaScript with HTML and Canvas

    Easier for beginners than DirectX, you might be surprised at the games you can build with HTML and Canvas. It is growing in popularity for web games, especially with fewer platforms supporting Flash. The same HTML and Canvas capabilities that exist on the web can be used to build cool games for Windows 8. To get started here’s a good post by David Rousset called Everything you need to know to build HTML5 games with Canvas

    Have you already built XNA games?

    XNA is not included on Windows 8, however there is an open source cross platform implementation of the XNA framework called MonoXNA that you can use to build Windows 8 apps. To get started check out Tara Walker’s blog on Windows 8 development using C#, XNA and MonoGame 3.0

    Do you prefer a 3rd party tool which generates the code for you?

    There are a lot of companies out there who produce tools for beginner and experienced game developers. These products have their own development environments and generate the application code for you. Some of these tools are free, some charge you either for the development environment tools, or to publish the apps. To get started check out cross platform tools that support Windows 8

    Are you a .NET developer?

    If you are already familiar with the .NET framework, you will probably find it easiest to develop your apps in C# or VB .Net with XAML. To get started check out the Roadmap for Windows 8 apps using C# or Visual Basic.

    Are you a Java developer?

    If you have already coded in Java, you will find it pretty easy to pick up C#. Consider building your apps with C# and XAML.To get started check out the Roadmap for Windows 8 apps using C# or Visual Basic.

    Are you a C++ developer?

    Go ahead and build your app using C++ and XAML. To get started check out Building your first Windows Store app using C++.

    Are you an iOS developer?

    There’s some great resources to help you bring your knowledge of Objective-C, Cocoa Touch, and XCode to Windows Store app development. To get started check out Resources for iOS developers. If you are planning to build a new app and want to target multiple platforms you may also want to check out Cross platform tools that support Windows 8.

    Are you an Android developer?

    The platforms are different, but you can certainly take an app you built for Android and port it to Windows 8. To get started check out this article Porting Android apps to Windows 8 . If you are planning to build a new app and want to target multiple platforms you may also want to check out Cross platform tools that support Windows 8.

  • Go DevMENTAL

    Got a WordPress site? Bring it to Windows 8 quickly and easily

    • 3 Comments

    wordpress This open source template makes it easy for you to take a WordPress site and provide it’s content through a Windows 8 store app

    if you are a WordPress user (Wordpress.org this template does not support Wordpress.com), there is an open source Windows 8 template built by IdeaNotion you can use to quickly create a Windows 8 store app to showcase the content on your WordPress site.

    The app created by the template allows a user to

    • View your blog posts by category
    • View recent blog posts
    • View your pages
    • View and post comments
    • Bookmark favourite posts
    • See post information in the live tile for the application
    • Use the Search charm to find content
    • Use the Share charm to share a favourite post

    You can download the source code and there is a quick start guide from IdeaNotion to help you out as well.

    Make your WordPress site available to more users through the Windows 8 store! Don’t forget students can publish their Windows 8 apps for free!

  • Go DevMENTAL

    Building Great apps step 1 : Refining your app idea

    • 0 Comments

    Kids looking at wallAn app can’t be great at everything, what will your app be best at? Figure that out you are well on you way to a great app

    This blog is part of a series, you can see all the posts in the series here.

    We all know the value of apps, we’ve used good apps, and lousy apps. We appreciate the value of being able to do something quickly and easily on a tablet or phone.

    A tablet or phone is something we just grab off the kitchen table or couch, or bring with us when we go out. It’s smaller and more portable than a laptop. We’ve learned that it can be a great way to get things done or to pass the time with a fun game.

    You have an app idea of your own, but with all the apps in the market, how do you ensure your app stands out? How do you ensure your app adds value? After you come up with an app idea ask yourself one question

    WHAT WILL MY APP BE BEST AT?

    Take the time to figure out what your app will be best at. Write it down! It’s called a “Best at” statement. Keep it short and to the point. Focus on one specific strength. Start the phrase with “My app is best at …”

    Taking the time to write a best at statement helps in many ways

    • It helps you control scope creep (ooh we could add this feature, or that feature, but wait, does that support your best at statement? if it doesn’t don’t add it!)
    • It helps you stand out in the market, look at other similar apps, why will your app be BEST at what it does vs other similar apps? is it more specific for a particular market? Does it have better features?
    • It gives you focus, and a way to evaluate the app. If you tell someone my app is the best at ‘x’ and ask them to test it for you, they can test it with your best at statement in mind and give you feedback to improve on what it is best at.

    Here’s a few sample best at statements to get you thinking about their power.

    My app is the best at timing for bakers – Would a timer app for a baker have different features from the usual timer apps? Sure it would. I want a notification when it’s half way through baking time so I can turn the baking sheets around for even cooking. I want to be able to add 1, 2, or 5 minutes to the timer after it runs out when I look at the cookies and decide they need another 2 mins. I want to be notified if my volume is turned off so I don’t miss the timer and burn the cookies.

    My app is the best at pong for making you laugh  - my pong game will have a twist, it will randomly add small pictures on the board and every time you hit a picture it will either have an effect on the picture (like spin) and make different noises. Users can create their own library of pictures or take pictures with the built-in camera to appear so they can hit their friends. They can also record their own sounds to make when they hit a photo.

    My app is the best at posting to multiple twitter accounts – users can log in to one or more twitter accounts. When they write a tweet they can select which accounts to use for the tweet. They can also define groups of twitter accounts and select to tweet by all accounts in that group. They can select one account to tweet, and other accounts to retweet.

    My app is the best at keeping track of family gift lists – this app allows me to figure out who in my family wants what for Christmas and what has already been purchased. In the app you can define one or more families or groups of people. When there is a group I can invite the members of that group to add items to their wish list. Items can include URLs, photos, and store names where you can purchase the item. When another group member logs in they can see the other family members wish list and they can indicate if they have purchased that item. When you log in to update your own wish list you cannot see what others have purchased from your wish list. Users can also suggest items for each others wish list (e.g. parents suggestions for their kids wish list) when others add to your wish list you do not see what they have added.

    Whether you are already working on an app, or have been thinking of writing an app. Take 15 minutes and come up with your best at statement and write it down. Then score yourself 10 points for getting started on your app! Don’t forget to check our Windows 8 resources page and Windows Phone resources pages to help you start building the app.

    Do you see how the best at statement helps me think about what my app will be able to do, and the features that I should add to the app? The best at statement could appear in the description of your app in the store, so anyone looking at your app in the store instantly understands what your app is best at, so they are more likely to appreciate and use its features because they understand when to use it.

  • Go DevMENTAL

    Building a great Windows 8 app Step 2: Installing Windows 8

    • 0 Comments

    Windows 8 start screenWhere do I get Windows 8? Can I set up a dual boot? Can I install it in VM? How? This post answers those questions

    This post is part of a series, you can see all the posts in the series here.

    You can’t build a Windows 8 app without installing Windows 8. So you need to get a copy of Windows 8 and you need to install it. This blog post will either explain or provide links to references that explain the following:

    • Where do I get a copy of Windows 8?
    • How do I install Windows 8 as dual boot?
    • How do I install Windows 8 in a Virtual Machine?
    • What can you do after you have Windows 8 installed?

    Where do I get a copy of Windows 8?

    First check the System requirements to make sure your PC can handle Windows 8. You do not require touch, Windows 8 works fine with keyboard and mouse. Though you might want to learn a few keyboard shortcuts.

    All of the options below will provide you with a .iso file, so you will either need a DVD burner so you can burn a DVD with the .iso file to install Windows 8, or you will need a tool like Virtual Clone Drive to read the .iso file directly.

    Are you a student in a technical program?

    You may be able to download Windows 8 for free from DreamSpark Premium. Note: this is only available for students in programs that have DreamSpark Premium. Many students have access to DreamSpark Standard which allows you to download a lot of free software including Visual Studio, but does not include the operating system software such as Windows 8.

    Do you have an MSDN subscription?

    if you are a Microsoft Student Partner, or you work at a company that has an MSDN subscription, you may be able to download Windows 8 using your MSDN subscription.

    • Visit the MSDN download center
    • Log in with your live id
    • Type Windows 8 Pro into the Search box
    • Choose Windows 8 Pro and download the .iso

    Try it

    There is a 90 day evaluation version of Windows 8 you can download for free, but note: IT CANNOT BE UPGRADED TO THE FULL VERSION. To upgrade, the evaluation must be uninstalled and a non-evaluation version of Windows must be re-installed. So if you are going to choose the trial version, you probably want to do it as a dual boot or in a virtual machine.

    Buy it

    Until Jan 31, 2013 you can buy a Windows 8 Pro upgrade for $39.99. You can do the upgrade easily if you are running Windows 7. If you are running Windows XP or Windows Vista you will need to reinstall your apps after you upgrade.

    How do I install Windows 8 as a dual boot?

    If you are downloading the trial version, or you just aren’t ready to upgrade yet (though honestly I found, after a week on Windows 8, I didn’t miss Windows 7, and was completely comfortable working with Windows 8, my existing printer, external monitor, mouse, and programs all work fine on Windows 8). But still I understand that you may have reasons for keeping a copy of Windows 7 running on your laptop. You can of course set up your laptop to have dual boot so you can start it in Windows 8 or Windows 7.

    How do I install Windows 8 in a Virtual Machine

    Installing Windows 8 in a Virtual machine won’t run as fast as upgrading your operating system to Windows 8 and from what I am seeing in the comments on these blogs, you may need to brace yourself for a bit of fiddling to get it working. But for those of you who are not ready to upgrade, it is certainly an option and I’ve seen lots of developers at our hackathons building Windows 8 apps inside a VM.

    Here’s a twist on the virtual machine option to consider as well. Windows 8 comes with Hyper-V support. So you could install Windows 8 on your machine and then run Windows 7 in a Hyper-V virtual machine on your Windows 8 PC.

    What can you do after you have Windows 8 installed?

    Now you’ve got Windows 8 installed, you can develop apps for Windows 8 or Windows Phone 8! Great preparation for the Imagine Cup or your first step to getting rewards from the Developer Movement. Get coding!

Page 1 of 3 (11 items) 123