April 9, 2015

Xamarin’s Got Game (Development)

By

If you’re new to game development, you may be wondering what framework is right for you. Luckily for C# and F# developers, Xamarin supports a wide range of powerful options like SceneKit and SpriteKit on iOS, as well as cross-platform frameworks including OpenTK, CocosSharp, and MonoGame.

For developers just getting started, we recently published several articles that provide an Introduction to Game Development with Xamarin based on CocosSharp and MonoGame.
 

Bastion

Bastion, the chart-topping iOS and Mac app, was built with MonoGame

If you’re not familiar with MonoGame, it’s a game development framework based on Microsoft’s XNA. As opposed to a full game engine, using MonoGame may require setup code to perform some simple tasks, as well as an understanding of computer graphics theory. MonoGame is a good choice if:

  • You’re familiar with the Microsoft XNA framework
  • You’re interested in 3D graphics, lighting, or shaders (custom code that is executed by the graphics card for advanced visual effects)
  • You’re extending or porting an existing XNA game to additional platforms
  • You’re interested in learning about graphics programming – MonoGame shares rendering concepts with other rendering APIs like DirectX and OpenGL

 

Angry Ninjas

Source for Angry Ninjas, a complete game written with CocosSharp, is available on GitHub

Alternatively, CocosSharp is a full game engine that provides classes and methods for performing the most common game development tasks. It’s the preferred approach if:

  • You’re interested in creating 2D games
  • You’re familiar with the native Cocos2D game engine
  • You’re looking for the shortest path to a working game

If you’d like to learn more about developing cross-platform 2D games with CocosSharp and Xamarin, check out the video below from Channel 9 and Xamarin Developer Evangelist James Montemagno:


If you’ve ever wanted to make games, either professionally or as a hobbyist, our game development guides are a great place to get started today.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
April 8, 2015

Six Great Tools for Better App Quality

By

Build Better Software with Xamarin

Xamarin is proud to be one of six services taking part in the App Quality Bundle, a limited-time package for developers who are serious about improving software quality. The App Quality Bundle allows you to equip your team with the ultimate toolset for building better apps, so you can find and fix bugs quickly, increase developer productivity, and deploy with confidence.

The bundle includes:

  • Xamarin Test Cloud: Automated Mobile App Testing
  • Runscope: API Monitoring and Testing
  • Sentry: Modern Exception Tracking
  • CircleCI: Continuous Deployment
  • Code Climate: Automate Code Review
  • Ghost Inspector: Automated Web Testing

The bundle is available now through April 15, 2015 for $999 (89% off the total bundle value). To find out more and to purchase the App Quality Bundle, visit https://buildbetter.software.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
April 7, 2015

Xamarin for Students Gets Even Better with Expansion to Visual Studio

By

Today, we are incredibly excited to announce the expansion of our Xamarin for Students program to include support for Visual Studio, furthering our mission to make it fast, easy, and fun to build great mobile apps.

xamarin_student_expansion

Now, students get free access to everything they need to become mobile app developers virtually overnight, creating native iOS and Android apps with Xamarin and Visual Studio. In the competitive job market, Xamarin for Students enables students to acquire highly in demand mobile skills free of charge.

Since launching last fall, Xamarin for Students has been a massive global success. We’ve responded to your feedback, and are now offering even more powerful solutions to students worldwide. As of today, Xamarin for Students includes:

  • Support for building, deploying, and debugging iOS, Android, and Windows apps from Visual Studio as well as Xamarin Studio
  • Xamarin availability in Microsoft Imagine through the DreamSpark catalog. Students can easily discover Xamarin from the Microsoft DreamSpark portal and get started with their Xamarin subscription quickly
  • Xamarin for Educators with Xamarin subscriptions, teaching materials, and complimentary Xamarin Test Cloud hours for instructors currently teaching courses related to mobile development

We are committed to developing the next generation of C# developers, giving more students the ability to publish amazing mobile experiences, and to bringing high-quality, high-performance consumer and enterprise apps to the masses. We also have a burgeoning Student Ambassadors program, which provides additional benefits to students who are leading their campus’ mobile developer community, such as the ability to become Xamarin Certified Mobile Developers. With dozens of representatives across nearly 30 countries, Xamarin Student Ambassadors not only get free subscriptions to the Xamarin platform and Xamarin University, but also access to Xamarin mobile development experts, opportunities to speak at events, and complimentary Xamarin Test Cloud hours to become automated testing pros.

The bottom line: Xamarin loves students. All currently enrolled students in a degree or diploma granting course of study at an accredited college, university, or high school are encouraged to apply.

ApplyNowButton

Visit our student page to learn more and apply now – and get started building and publishing your own amazing, native mobile apps with Xamarin.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
April 3, 2015

Xamarin Community Speaker Program

By

With demand for Xamarin speakers at an all-time high, we have stepped up our efforts to work directly with our community to help user groups and event organizers find great developers who are willing and able to deliver entertaining and informative presentations on Xamarin. Today, I’m am very excited to share with you the details of our Xamarin Community Speaker Program!

Joining the program is easy:

  • Do you love Xamarin?
  • Do you enjoy presenting on mobile development in C# or F#?
  • Have you given a presentation before?

If this sounds like you, and you’re excited at the opportunity to deliver a session covering Xamarin-related topics in your area, please complete this registration form to apply to our list of Xamarin Community Speakers.

The program is simple:

  1. Let us know your availability to give short (45 minute – 1 hour long) presentations on Xamarin related topics where you have relevant knowledge and experience.
  2. If Xamarin learns about an event in your area where the organizers are looking for a speaker, we will reach out to see if a connection can be made.
  3. There is no obligation to speak if the timing or topic don’t work for you.

In need of a Xamarin speaker?

There’s a community speaker near you! Request a Speaker and we’ll help you find someone in your area.
xamarin-speaker-map

Have questions or comments about the program? Please feel free to post your thoughts in this community forum thread or email our team directly.

Additionally, if you know a few Xamarin enthusiasts in your neighborhood but don’t have a developer group, look to this Tips & Tricks Guide on starting up a local group.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
April 2, 2015

Xamarin Insights Updates Bring Enhanced App Monitoring

By

We’re excited to announce some great new updates to Xamarin Insights, which enables you to add real-time monitoring with precise, detailed error reporting to your apps in a single line of code. Xamarin Insights’ powerful cross-platform API allows you to report caught exceptions and track session event information, including time-tracking, to help you diagnose the problem when a crash occurs. This additional session information also lets you see exactly where your users are spending the most time in your app and track trends as your app evolves. The enhancements we just added, outlined below, will help you better navigate this data so you can provide even better experiences for your app users.

Xamarin Insights logo

Improved Issue Reports

When you log into Xamarin Insights and select a mobile app, you will see a complete overview of any crashes and warnings that are occurring in your app. Reports have been overhauled with new charts to help you easily identify what type of issues are occurring in the app.

InsightsIssues1

Once you select an issue to investigate, you’ll see a full overview of the type of devices that were affected as well as the specific app version over time. Additionally, the stack trace view has received an overview that makes it easier than ever to find out exactly where the issues are coming from.

InsightsIssues2

Application Usage and Audience Engagement

When you add Xamarin Insights to your apps, you can opt in/out of tracking additional data from your users, such as OS Versions, Device Type, and more, to help you diagnose issues. Now, Xamarin Insights fully visualizes all of this data, along with app user and session data analytics, in beautiful graphs and charts.

InsightsAudience

Browse Application Events

The Xamarin Insights event tracking API enables you to easily track and report any event in your app. This helps you not only build up reproduction steps when a crash occurs, but also lets you investigate exactly how your app is being used. All of this data is fully visualized and filterable for easy consumption in the new Events section of Xamarin Insights.

Insights Events

Start Monitoring With Insights Today

Get started with Xamarin Insights in any of your iOS, Android, Mac, or Windows apps with as little as one line of code by heading to http://insights.xamarin.com. You can also browse through the full API documentation to see how to easily extend with custom tracking and reporting in your apps.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
April 1, 2015

Spring Forward with Xamarin Events in April

By

It’s no joke – there are TONS of Xamarin events happening this month! Here are just a few to spring you into gear!

April Xamarin Events

iTexico Webinar

  • Online: April 2nd, 9:00am PT
  • The Benefits of Native Multi-Platform Development with Alexandre Popp

Infragistics Webinar

  • Online: April 9th, 8:00am PT
  • Using Infragistics’ Cross-platform Native UI Controls with Xamarin.Forms & Mike James

DotNet Fringe us

  • Portland, OR: April 12th -14th
  • Power C# Robots and control them with C# Mobile Apps w/ James Montemagno

Today and Tomorrow us

  • San Diego, CA: April 15th -18th
  • Mobile Impact on Development & Testing w/ James Montemagno

Xamarin Gaia it

  • Milan, Italy: April 16th -17th
  • Cross-platform Development with Xamarin & Xamarin.Forms Overview w/ Mikes James

Gids.Net & Cloud in

  • Bangalore, India: Tuesday, April 21st
  • .NET Everywhere – Programming Wearables in C# w/ Nish Anil

Gids.Web in

  • Bangalore, India: Tuesday, April 22nd
  • Automated UI Testing using Xamarin Test Cloud & Calabash w/ Nish Anil

Developer Summit in

  • Bangalore, India: Tuesday, April 22nd
  • Go Mobile with C#, Visual Studio, and Xamarin w/ Mayur Tendulkar

 

The Events Forum has MANY MORE upcoming Xamarin events, meetups, and presentations happening this month near you, so check it out if you don’t see an event in your area here.

Interested in getting a developer group started? We’re here to help! Here’s a tips and tricks guide on staring a developer group, an introduction to Xamarin slide deck, and of course our community sponsorship program to get you on your way. Also, we love to hear from you, so feel free to send us an email or tweet @XamarinEvents to help spread the word and continue to grow the Xamarin community.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
March 31, 2015

Live APAC Webinar: Say Hello to Xamarin.Forms

By

Photo of Nish AnilIn this live webinar, Xamarin Developer Evangelist Nish Anil will introduce you to Xamarin.Forms. You’ll learn how to use the Xamarin.Forms API to quickly build shared screens for iOS, Android, and Windows Phone, and about various Xamarin.Forms components, including Pages, Views, Layouts, and DependencyServices, and how to use them to create truly native cross-platform apps.

At the end of this session, you’ll be able to build Xamarin.Forms apps for iOS, Android, and Windows Phone.

Thursday, April 16
11:30 AM – 12:30 PM IST

Register

 
All of the registrants for the webinar will receive a copy of the recording, so please feel free to register even if you won’t be able attend the day of the event.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
March 30, 2015

Creating Beautiful iOS Controls with PaintCode

By

Delivering a beautifully designed app can be the difference between having an app that gets used, or having an app that no one notices. Of course, having a beautiful app doesn’t just happen – creating something different often means creating your own custom controls, and creating beautiful custom controls on iOS can be a difficult task without intimate knowledge of CoreGraphics. This is where PaintCode steps in. PaintCode is a vector drawing app that generates C# code in real-time, allowing you to design your iOS controls and export the resulting “drawing code”. This is great because it allows you to create resolution-independent controls that will look great on any size of device.

From the beginning, the Xamarin Designer for iOS has supported real-time rendering of custom controls, which allows you to see instant feedback on your code changes. A number of developers have been opting to use images for control customization, which leads to a series of issues including bloating your app store binary size and that these images simply won’t scale properly on new screen sizes that Apple may release in the future.

PaintCode on Mac

StyleKit

PaintCode can generate a special class that contains all of the drawings, colors, gradients, shadows, and other design assets used in your app. In the following example, I’ve named the StyleKit DemoStyleKit. You’ll want to make sure you’re regularly exporting the StyleKit from PaintCode into your Xamarin project in order for changes to be made available to you in your project. Exporting your style sheet will create a .cs style and copy any images your styles use into the directory of your choice. Once you’ve done this, you’ll need to add these to your existing Xamarin.iOS project.

Creating a custom control

Once you’ve added the exported files, you’re ready to consume the drawing code in a custom control. You will need to create a new class which will be your custom control; in this sample I’ve called it ‘MyTimerView’ and it inherits from UIView.

It’s here where we’ll consume the auto-generated C# from PaintCode and set it up to support the Storyboard designer. In this example, I annotate the class with the DesignTimeVisible attribute. This tells our iOS Storyboard designer that I wish to use this class within the Storyboard designer. A basic class with Storyboard support should look something like this:

[Register("MyTimerView"), DesignTimeVisible(true)]
public class MyTimerView : UIView
{
  public MyTimerView(IntPtr p) : base(p)
  {
    Initialize ();
  }
  public MyTimerView ()
  {
   Initialize ();
  }
  void Initialize ()
  {
  }
  public override void Draw(CoreGraphics.CGRect rect)
  {
   base.Draw(rect);
  }
}

Because PaintCode exports the drawing code into the StyleKit, we can implement the drawing with just one line of code!

public override void Draw(CoreGraphics.CGRect rect)
{
  DemoStyleKit.DrawTimer(rect, Angle);
}

If you save and build the project now and open your Storyboard, you should find MyTimerView within the control toolbox. You can drag and drop this into your view and instantly see how it looks.

A custom control in the iOS storyboard designerAdvanced properties

It would be great to be able to control the angle of the green progress line from the Properties panel within our IDE. Fortunately, custom controls allow for design time properties for a number of types, including string, bool, SizeF, UIColor, and UIImage. To add an angle property to our properties pad, let’s add the following to our class:

float angle;
[Export("Angle"), Browsable(true)]
public float Angle
{
  get { return angle; }
  set
  {
    angle = value;
    SetNeedsDisplay ();
  }
}

It’s also worth ensuring that the _angle property has an initial value by setting it in the Initialize method. Once you’ve done this, you’ll see a new property available to you and the changes to the value will automatically be updated in the custom control. This allows you to create very customizable controls without needing to drop into code to make tweaks.

Learn more

You can learn more about PaintCode on their website and purchase the app from the Mac App Store.

To get started, download the sample project from this blog post from GitHub.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone
March 27, 2015

Contest: What’s Beggin’ for a Beacon?

By

Yesterday, we put the spotlight on our beacons partners and today we’re inviting you to put on your creativity hat and dive into the world of context.

What are Beacons?

Beacons are small pieces of hardware that use Bluetooth technology to transmit signals to mobile devices, allowing developers to create context-aware apps. Our Component Store partners make it easy to build apps that detect beacon signals and can act accordingly, sending push notifications, coupons, or other information to a central database.

Contest

The bottom line: beacon potential is everywhere, from simple life productivity hacks to innovative business improvements. Share a picture, video, or brief description of something you think should be beacon-enabled – however practical or impractical – and we’ll award prizes to our favorite ideas.

How to Enter:

  • Submit your idea, including why it’s “beggin’ for a Beacon,” using a written description, video, and/or photos
  • Tweet your idea to @xamarinHQ with the hashtag #BeaconPotential
  • Bonus points: link to your blog about your Beacon idea for the contest!

Example Tweet:

Always losin’ Fido. @XamarinHQ #BeaconPotential
Whiskey, Xamarin Office Dog

Prizes:

Most Creative Idea wins a Xamarin + Beacons extravaganza!

  • BKON hardware
  • MobStac swag and Rasberry Pi 2 kits
  • Estimotes beacon devkit & assorted swag
  • Xamarin swag

Real Potential

Do you have the next Fido finder app in the works? We’re on the lookout for submissions that have real potential! One submission will be eligible for a special prize from our beacons partners.

Special Prize:

Special prize for one lucky contestant whose submission has the most real-world applicability: our beacons partners are offering a 1:1 mentorship session to share their expertise. They will guide you through best practices for context-aware apps to help get your app off the ground – and provide beacon hardware to get you up and running.

Rules and Regulations:

All entries must be submitted by April 6th at 12pm EST. A valid entry is a tweet that highlights a unique, creative and useful Beacon use case and includes both @xamarinhq and the hashtag #BeaconPotential. We will review and evaluate your submissions based on a variety of factors, including creativity and number of likes, retweets, and shares. Contestants should follow @XamarinHQ to enable us to DM you for private follow-up if you win a prize. This contest is open to individuals and there is no purchase necessary to enter.

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone

Win an Apple Watch Contest Winner!

By

A couple of weeks ago we invited you to start creating your first WatchKit app using the Xamarin Storyboard designer for a chance to win an Apple Watch. With all of the excitement around this cool new device, we weren’t surprised when we got a ton of great submissions!

With a lot of thought and tough decision making, we’re pleased to announce that the winner of the contest is:


Car Parking App!


A huge thank you for all of the wonderful submissions; it was a truly difficult choice to pick just one. For more Apple Watch inspiration, check out this forum to see other examples from the contest!

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone