• Go DevMENTAL

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

    • 4 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

    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

    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 a great Windows 8 app Step 3: Installing the SDK & Tools

    • 0 Comments

    VisualStudio How do you get the Windows 8 SDK and Visual Studio? What if you have Visual Studio already?

    This blog is part of a series, you can find the entire series here.

    In Step 2 we learned where to find and different options for installing Windows 8 which is required before you download and install the SDK. Now you need the Windows 8 SDK and a version of Visual Studio 2012. In this blog we’ll look at what you need to install so you can start building a Windows 8 app. This blog post covers the following:

    • Getting a copy of Visual Studio
    • Downloading and installing the SDK
    • How do I know it installed correctly and I can start coding?

    Getting a copy of Visual Studio and Expression Blend

    • Visual Studio is the development environment used to build Windows 8 apps, so you will need to install it before you can start building your app.
    • Expression Blend is a component of Microsoft Expression Studio that allows you to design the look and feel of your application. It is not required to build a Windows 8 app, but you will probably prefer it to Visual Studio when you edit the look and feel of your app.

    Are you a student in a technical program?

    If you are in a technical program like Computer Science you may have access to DreamSpark Premium which is usually accessed through your school IT department or through a special portal maintained by your school like this one from Carleton where you can download Visual Studio and Expression Studio.

    Are you a high school, college or university student?

    If you are a student in a non technical program such as business administration or you are in a technical program that does not have a DreamSpark Premium subscription, you can still get a copy of Visual Studio through DreamSpark Standard. DreamSpark Standard subscriptions are given to universities, colleges, and even school boards so that high school students can access Microsoft developer software. They are usually tied to a school email address. For example a student with an email address that ends in @Ryerson.ca is recognized as a student from Ryerson who can access the Ryerson University subscription. If your school does not have a subscription, you can request a verification code by contacting your local Microsoft representative. (In Canada that’s us!). Now you can

    Note: when you download Visual Studio and Expression Studio, you will get an .iso file. You will need to either burn a copy of the .iso onto a DVD or use a tool such as Virtual Clone Drive to read the .iso and allow you to install it.

    Do you have MSDN?

    If you are a Microsoft Student Partner, or work at a company with an MSDN subscription you can download a copy of Visual Studio from the Microsoft Download Center.

    What if I am not a student and I don’t have MSDN!

    That’s okay you don’t need a full version of Visual Studio to develop an app, when you install the Windows 8 SDK it will install a copy of Visual Studio 2012 Express with Blend you can use to develop your app.

    Downloading and Installing the SDK

    Do you already have a copy of Visual Studio 2012?

    If you do have access to a full version of Visual Studio 2012 and Expression Blend, install it before you install the Windows 8 SDK. When you install the Windows 8 SDK it will detect your copy of Visual Studio 2012 and install the Windows 8 templates into your existing copy of Visual Studio. Visit the the windows dev center (dev.windows.com) to download the tools and SDK.

    If you don’t already have a copy of Visual Studio 2012

    If you do not have a copy of Visual Studio 2012 already, then all you need to do is download the tools and SDK and it will install a copy of Visual Studio 2012 Express and Blend for Visual Studio on your system so you can start developing.

    How do I know it worked and I can start coding?

    If you can launch Visual Studio 2012 or Visual Studio 2012 and choose File | New Project then choose either Visual C#, Visual Basic, Visual C++, or JavaScript and you can see a set of templates called Windows Store similar to the screen shot below. You are ready to start coding! If you are a Canadian don’t forget to register for Developer Movement to make sure you get rewards for your app

    Visual Studio new Windows 8 project

  • 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