Get Sharp and Stay Sharp: C# Books

Being a developer isn’t easy. Learning new languages isn’t easy. Mastering your language of choice isn’t easy. Thankfully, for all these endeavors, there is help available. If you’re looking to start or beef up your library of C# books, here are a few you won’t want to miss.

C# 5.0 in a Nutshell: The Definitive Reference

While the word “definitive” gets thrown around a lot, this one seems deserving of the term. Throughout its previous editions, and indeed for this current fifth edition, the text has been extensively reviewed by C# experts both inside and outside Microsoft, including Eric Lippert and Jon Skeet. This edition has new and updated sections on concurrency, threading, parallel programming, and C# 5.0’s new asynchronous functions.

This book covers all the basics, such as syntax, types, and variables and other fundamental elements of C#. It covers the range and also gets into more advanced topics such as unsafe code and type variance. There are three chapters in this edition that cover LINQ, as well as in-depth coverage of code contracts, dynamic programming, parallel programming, and native interoperability. If you’re only going to have one C# book, this wouldn’t be a bad choice.

C# 6.0 and the .NET 4.6 Platform

So much has happened on the C# and .NET front, the authors of this text have completely rewritten and revised this edition as C# 6.0 and the .NET 4.6 Platform—now in its seventh edition. This edition reflects the latest changes to the C# language specification and new advances in the .NET Framework. There are new chapters covering the important new features of .NET 4.6, including:

  • Refined ADO.NET Entity Framework programming model
  • IDE and MVVM enhancements for WPF desktop development
  • Updates to the ASP.NET Web APIs

This edition intends to provide a comprehensive foundation in the C# programming language and the core aspects of the .NET platform. There are also extensive overviews of technologies built on top of C# and .NET (including ADO.NET and Entity Framework, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), ASP.NET (WebForms, MVC, and WebAPI)). There’s complete coverage of the .NET 4.6 Platform and C# 6. You’ll also learn about XAML, Visual Studio 2015, and the new Windows Runtime. Incidentally, this edition was co-authored by Philip Japikse, a veteran Visual Studio Live! presenter.

The C# Player's Guide

This one is good if you’re just getting into coding with C#. It starts out with some of the basics of C#, but takes you all the way through into some of the more advanced aspects of the language. It opens with an introduction to C#, as well as a step-by-step walkthrough and explanation of coding a C# program.

Then the book gets into procedural programming, including variables, math operations, decision making, looping, methods, and an in-depth look at C#’s typing system. It also covers some fundamental aspects of object-oriented programming, such as inheritance, polymorphism, interfaces, and generics. It moves through some more advanced features of C#, including working with the .NET framework, managing compiler errors, and debugging. This edition of the book is updated to C# 6.0, .NET 4.6, and Visual Studio 2015.

And these three C# books, while all excellent references, clearly aren’t the only options. If you’re looking for a good place to start, there’s an impressively comprehensive Wikibook on C#. This one also takes you through the basics, and then gets into classes and advanced functions. There are also a handful of helpful links along with this entry.

Looking for some free C# books? Here’s a link where you can download them for free. The list includes Fundamentals of Computer Programming with C#, C# Essentials, and Object Oriented Programming Using C#. So there’s clearly no shortage of resources to help you delve deeper into C# programming. Take a look around and you’re sure to find one that suits your level.

Posted by Lafe Low on 01/11/2017 at 2:28 PM0 comments


Phil Japikse Q&A, Part 2: "Big A" vs. "Little a" Agile Framework

When you start talking about agile development, chances are Phil Japikse’s name will come up. Among other things, he's been heavily involved in the agile community since 2005, and has some strong opinions about what it means and how it can apply.

As a continuation to Part 1 of our recent Q&A session with him, here are Phil's thoughts on another current development trend, "Big A" agile vs. "Little a" agile framework.

"What are some of the most transformative trends going on in the development world today?"

We’ve got to talk about agile. About five years ago, one of the Gartner analysts declared agile mainstream. Once that happened, there were all these companies that felt they missed it.

Then there was a huge proliferation of agile—“big A” agile—frameworks. And I’m not knocking the frameworks. But in development, you pick the right tool for the right job. A lot of my customers found the first person they could find to implement agile just because.

What's been transformational about this is there are a lot more people trying to figure this agile thing out and examining their development practices and all that’s great. But the negative side of that is lot of people are just slamming it in because they read a book, or they found an expert in it and they’re not actually looking at core values or principles. They’re just trying to do agile because their colleagues or competition is doing it.

"Is Agile for everyone, or are there some situations and development scenarios where it's less suitable?"

I’m going to be picky here. The way you wrote this question is you’ve got the “Big A” agile. I don’t think that’s for everyone. You really have to understand the frameworks and be able to iterate change.

“Little a” agile is for everyone. If we look at what agile really is, it’s transparency. It’s collaboration. It’s continuous improvement and feedback. You can’t tell me you don’t want to try and be better at what you do. It’s incremental improvement, retrospecting, and bringing people in to collaborate.

It's for everyone, and not just in software. I'm a member of the Knights of Columbus, and I’m in charge of the poker tent for church festivals. So I run the poker tent the day of, but everything leading up to that we run in an agile manner. There’s incremental improvement and lots of feedback. We just had a retrospective the last night of an event last week to determine how we can make it better.

So agile is for everyone, but when you say “Big A” agile is going to transform your company, then it’s not for everyone. I've been thrown out by several customers because I brought up the word agile. But when I talk about how we can help you get better at what you do, we can help you cut costs and we can improve quality. Are those things of interest? Then the answer is different.

"What new things are you working on and learning these days, and why?"

I'm always talking to the different “agilists” out there. Tim Korson recently spoke at my conference (Day of Agile in Cincinnati, OH). LeSS is a framework (large scale SCRUM), and he's one of very few LeSS-certified instructors in the world.

I don’t know everything. I’ve been doing it for a long time, but it’s a journey, not a destination. I'm very passionate about it, so I want to keep honing my craft.

Want even more Phil?  Follow him on Twitter (@skimedic) and read his blog by visiting http://www.skimedic.com/blog.

Posted by Lafe Low on 09/12/2016 at 2:28 PM0 comments


Phil Japikse Q&A, Part 1: ASP.NET Core & Current Web Development Trends

While he’s always looking at and learning new things, Phil Japikse is a C# guy at heart.

That’s how he does what he does. In fact, he's a co-author of the best-selling book, "C# and the .NET 4.6 Framework." You even can see him speak at the next Visual Studio Live! event from September 26-29 in Anaheim, CA.

We caught up with Phil during a recent webcast to get some of his thoughts on the state of the development world, including ASP.NET Core and other current web development trends. (Click here to watch the webcast on-demand.)

"What are some of the most transformative trends going on in the development world today?"

We’ve got to call out the elephant in the room, which is the Internet of Things (IoT). They just opened a driving range here in Westchester that is IoT-enabled. There’s a huge fence all the way around, with virtual targets all the way around the fence. There are chips in the golf balls so it scores it for you. I wish I would have thought of that, because I saw the prices they charge to do that. And out west, there’s a 4-H club that has an IoT-enabled test farm, so the soil knows when it needs to be watered.

"What is your preferred language and why?"

I was going to answer English! I'm actually a C# person, but I have nothing against VB.NET. I was once hired to teach developers .NET, so I was building design patterns in VB.NET. The VP who hired me looked over my shoulder and asked, “What is that?” I told him it’s VB.NET. He said, “We don’t do VB here!” I was a consultant. I wasn’t going to argue, but I asked why. His answer was ludicrous. “Because all those smart people came from Java and they won’t do VB.”

So I became a C# person because that’s what the market dictated. It’s what the market is asking for, but it’s not because I think it’s better or worse than any other language out there. I've toyed with F#, but at the end of day my fallback is C#.

"There are languages and extensions and frameworks and all sorts of different approaches – how does a developer arrive at the best combination of solutions for his or her needs?"

This is probably not the answer people will like, but it comes down to seat time, just time doing it. You’ve got to know a number of frameworks. Andy Hunt in “The Pragmatic Programmer” talks about learning a new language every year. You just have to see what’s out there. If you look at the .NET world, there are so many frameworks popping up. You’ve just got to keep working at it. You don’t know if one is going to work until you’ve worked with it. And that takes time.

So what I say is try new things, but don’t do, “Hello world.” When I sit down to learn a new framework, I think about what are three hardest things to think of with data access. So I tried to get those to work. And if I can get those things to work, then Hello World becomes easy. So as you’re looking at new frameworks, pick something hard. I can write hello world in any language out there. That doesn’t mean I would recommend that particular framework.

"What new things are you working on and learning these days, and why?"

At the end of the day, I sling code. So right now I am working on all the .NET Core stuff and ASP.NET.

Stay tuned for Part 2 of this Q&A, coming soon! In the meantime, be sure to follow Phil on Twitter (@skimedic) and read his blog by visiting http://www.skimedic.com/blog.

Posted by Lafe Low on 09/06/2016 at 2:28 PM0 comments


Great .NET Blogs to Follow: Part 2

There continues to be a lot of change in the .NET world.

With Microsoft open sourcing your favorite framework with .NET Core and the companion ASP.NET Core, things are changing rapidly—even for the tech world. You might need some outside help keeping up with the changes and the new ways you can use .NET Core.

Luckily the .NET blogosphere always rises to the occasion. As a follow-up to Part 1 last month, here are some more of the best .NET blogs to follow:

1. Daily .NET Tips

I’m always a big fan of these types of things—the tip of the day or tip of the week. You can be reasonably certain you’ll have a steady flow of good stuff coming your way. The daily .NET tips from dailydotnettips.com will keep you smoothly and accurately navigating all aspects of .NET. The tips are divided into the following categories: how to, .NET FAQs, C#, Visual Studio, devices, and cross platform.

They cover things like customizing the ink toolbar in a Windows Universal app, understanding the navigation pattern for iOS mobile app development, and turning on/off Application Insights exception display for CodeLens in Visual Studio. Many of the tips build on suggestions made in previous tips, so be careful if you start following this blog. You just might get hooked! (And if you have any suggestions or comments, you can reach them at contact@dailydotnettips.com.)

2. Tom’s Blog: Thomas LeBrun

Thomas LeBrun runs a simple, straightforward blog called Tom’s blog that also covers a range of .NET-related topics. Much like the daily .NET tips page, Tom’s blog is laid out nice and neatly, with the posts running down the left side of the screen.

Tom covers an impressive range of topics, including implementing a shake detector in your Xamarin.Android mobile app. This cool routine can help you determine when a user has shaken their device. While he found a previous iteration of such an app, he says he adapted the Java code to clean C# code.

Another post covers creating your own spying camera system with Microsoft Azure and a UWP application. Now of course you would only use this for legitimate purposes, like keeping an eye on your front door while you’re away for the day. Armed with a Raspberry Pi, a USB camera and Windows 10, you can enter the world of the IoT and start monitoring your property. Cool!

3. Code Rant: Mike Hadlow

Mike Hadlow’s amusing and informative blog is entitled Code Rant, from the coast of England. Hadlow’s posts cover topics like running the Kestrel HTTP server on Linux with CoreCLR. Hadlow’s posts are wonderfully detailed, with code snippets and screen shots to show you precisely how to implement what he’s talking about.

He also dives into some lengthy social and industry commentary with a post entitled “Learn to Code. It’s Harder Than You Think.” That title is a play on a U.K. initiative from the Year of Code in 2014 that was designed to encourage young people to check out software development as a career. (That program was called “Start Coding This Year. It’s Easier Than You Think.”) The post goes on to examine the differences involved in getting into coding as opposed to other careers, and how many developers are indeed self-taught.

“Even programmers with [computer science] degrees insist that they are largely self-taught. Others complained that it was a hard question to answer since the rate of change in the industry means that you never stop learning. So even if you did at some point have formal training, you can’t rely on that for a successful career. Any formal course will be just a small element of the continual learning that defines the career of a programmer,” he writes.

“We are left with a very strange and unexpected situation. Formal education for programmers seems not to work very well and yet the majority of those who are successful programmers are mostly self-taught. On the one hand we seem to have people who don’t need any guided education to give them a successful career; they are perfectly capable of learning their trade from the vast sea of online resources available to anyone who wants to use it. On the other hand, we have people who seem unable to learn to code even with years of formal training.”

Let us know if you have any other favorite .NET blogs in the comments below!

Posted by Lafe Low on 08/24/2016 at 2:28 PM0 comments


#VSLive Redmond 2016 Live Stream: 15 Sessions You Don't Want to Miss

When Visual Studio Live! lands at Microsoft Headquarters in Redmond, WA, August 8 – 12, the conference keynotes and select sessions will be live streamed on Microsoft’s Channel 9.

So if there’s something you need to review, or if you couldn’t bring your whole team to Redmond for the event, your colleagues can virtually attend many of the same sessions you’ll be seeing live.

The Channel 9 site for the Visual Studio Live! Redmond live stream is: https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-Live-Redmond-2016.

And for more details, here's an overview and schedule of the sessions you’ll be able to see on the live streaming feed:

1. Keynote: The Open Microsoft Developer Platform, by Amanda Silver

August 9, 2016 from 8:30 - 9:30 a.m.

As a Microsoft developer, you've built some great solutions for your customers. You've solved business problems and made the world better. But the Microsoft Developer Platform as you knew it is no more. It's better. It's faster. It's open. And it's cross platform. This keynote session will address some of those issues.

2. Go Mobile with C#, Visual Studio, and Xamarin, by James Montemagno

August 9, 2016 from 9:45 - 11:00 a.m.

Xamarin helps C# developers become native iOS, Android, and Windows mobile app developers overnight. In this session, you'll learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio with Xamarin.

3. TypeScript for C# Developers, by Chris Klug

August 9, 2016 from 11:15 a.m. - 12:30 p.m.

Over the last few years, JavaScript has solidified itself as the universal language of the Web. So you might as well accept that if you are going to be working with anything related to the internet, it is highly likely that you’ll be working with JavaScript.

4. Azure Portal: The Largest SPA in the World, by Jakub Jedryszek

August 9, 2016 from 2:00 - 3:15 p.m.

The Azure Portal is one of the biggest and most complex Single Page Applications (SPA) in the world. Are you curious to see what is under the covers? This session will look into the tools, frameworks, libraries and techniques that are available.

5. Building Solutions with the Microsoft Graph SDKs, by Robert Anderson and Paul Stubbs

August 9, 2016 from 3:45 - 5:00 p.m.

The Microsoft Graph is one endpoint to rule them all. Learn how easy it is to use the Microsoft Graph to build people and group centric applications that use the latest APIs from Azure AD, OneDrive, Outlook, Excel, OneNote, and more all under a single endpoint and enabling high impact business and consumer apps.

6. Windows for Makers: Raspberry Pi, Arduino & IoT, by Nick Landry

August 10, 2016 from 8:00 - 9:15 a.m.

Did you know that Windows 10 can run on a $35 Raspberry Pi 2 computer? Makers have taken the world by storm, creating countless gadgets and automated systems, connecting everything around them. This session is for makers – neophytes and veterans alike – who want to explore the capabilities of Windows to run IoT devices.

7. Get Good at DevOps: Feature Flag Deployments with ASP.NET, WebAPI, & JavaScript, by Benjamin Day

August 10, 2016 from 9:30 - 10:45 a.m.

Want to get good at DevOps, but deployments are getting you down? Is the code integration process just plain driving you crazy? Well, maybe it's time to try out feature flags (aka "feature toggles").

8. Keynote: Zero to DevOps with VSTS, by Donovan Brown

August 10, 2016 from 11:00 a.m. - 12:00 p.m.

DevOps is about people, process and products. Getting it all right requires effort but the benefits to your organization and customers can be huge. Microsoft has a fantastic set of products that can adapt to any language on any platform. In this demo-heavy keynote, Donovan Brown will show you how to put everything in place.

9. The Future of Visual Studio “15,” by Tim Sneath

August 10, 2016 from 1:30 - 2:45 p.m.

Visual Studio 2015 was a feature packed release with additional updates adding tons of value. But time waits for no one and the Visual Studio team knows it. Come to hear about the future of Visual Studio. This session will illustrate how Visual Studio is evolving for its next big release.

10. Using Universal Windows Platform and Azure to Build Connected Solutions, by Daniel Jacobson

August 10, 2016 from 3:15 - 4:30 p.m.

You've seen it time and time again - the true power with the Universal Windows Platform is being able to write applications that target various devices and form factors. But how can you use this great power to build a coherent end-to-end solution?

11. Build Real-Time Websites and Apps with SignalR, by Rachel Appel

August 11, 2016 from 8:00 - 9:15 a.m.

If you've ever wanted to build a highly responsive app that leverages a real-time communications library, then SignalR is for you! Real-time Web functionality is the ability to have the server push messaging aggressively to the client, rather than relying on the client to make multiple and frequent requests of the server.

12. Security and Authorization in .NET Core World, by Barry Dorrans

August 11, 2016 from 9:30 - 10:45 a.m.

ASP.NET Core has presented us with the opportunity to improve our security store, throw away or improve on of the mistakes of the past. ASP.NET now has a new authorization stack and different ways to load balance cryptographic keys. This session will demonstrate and walk you through the new features.

13. The Next Wave of Mobile Apps: TypeScript 2, Angular 2 + Ionic 2, by Ryan Salva

August 11, 2016 from 11:00 a.m. - 12:15 p.m.

For users already familiar with Ionic and Apache Cordova, this intermediate to advanced level session will explore some of the new design patterns, development workflows and... yes, even quirks in the next generation of JavaScript frameworks.

14. Deep Dive into ASP.NET Core, by Daniel Roth

August 11, 2016 from 2:15 - 3:30 p.m.

In this talk we will dive deep into the guts of ASP.NET Core. We'll look at how the HTTP request pipeline is constructed and how HTTP features are exposed. We'll look at how ASP.NET Core hosting works and what best practices are for deploying and monitoring your application.

15. Making Sense of Mobile: A Panel Comparing Xamarin, Cordova and Native, by James Montemagno & Ryan Salva

August 11, 2016 from 3:45 - 5:00 p.m.

Are you wondering how to approach modern mobile development? Are you trying to decide whether to go native, web, Cordova, or Xamarin? Then you really need to attend this panel discussion. We have lined up experts on Xamarin, Cordova, and native mobile development to answer your questions about each option.

Posted by Lafe Low on 08/02/2016 at 2:28 PM0 comments


Great .NET Blogs to Follow: Part 1

The world of .NET continues to evolve and expand. And, as such, that means there’s a lot to keep up with.

But you don’t necessarily want to just dive in without a "net," so to speak. (Hence, our other recent recommendation-based posts on must-read programming books, great C# blogs to follow, and more.)

So here’s a look at my occasional perusal of the blog-o-sphere, specifically on some of the best .NET blogs to follow. (There are definitely some good ones for you this month!)

1. Build Please: Nick Chamberlain

Nick Chamberlain runs a great blog he calls Build Please. Just from an organizational standpoint, it’s quite well laid out. You’ll find a running table of contents on the right side of the screen. You can easily scroll and scan to find topics that interest you.

Chamberlain knows all the angles of .NET. Some of the topics he has covered include Domain Driven Design, Command Query Responsibility Separation, and Event Sourcing. He covers the principles of each, and clearly feels your pain as “everything becomes a decision-making nightmare.”

He also covers diverse .NET topics like using delegates, testing time dependent code, mapping nested JSON objects to a .NET dictionary and changing a type within a class when you instantiate. He also provides weekly keyboard shortcuts. I love those types of things—quick tips and tricks you can put to use immediately. Check out the rest here at Build Please.

2. Thomas Levesque

Thomas Levesque also runs a slick .NET blog. This no-nonsense blog covers tips, workarounds and sneak previews. One of his recent previews took a look at some of the new C# 7 features in the forthcoming Visual Studio "15" (not to be confused with Visual Studio 2015). He particularly likes the new lightweight installer, which sounds like a great idea indeed. His real interest is the compiler and works in some of the C# 7 features like local functions, pattern matching, and binary literals.

The rest of his blog is very hands-on and how-to focused, with posts covering explicitly switching to the UI thread in an async method, retrieving dates as UTC in SQLite, creating an auto-mocking container with Unity and FakeItEasy, and customizing string interpolation in C# 6. I like the practical, clear instructional tone of Levesque’s posts. Another side note about Thomas Levesque’s blog—you can read it in French if you’d like. Visit thomaslevesque.com to learn more.

3. Tony Sneed

Another notable blog comes to us from Tony Sneed. The native Slovakian trainer and consultant delivers a nice straightforward educational blog covering germane and up-to-date subjects like using the simple MVVM toolkit, getting your Visual Studio code ready for TypeScript 3, using EF6 with ASP.NET MVC Core 1.0, and moving to MVC 6 from WCF.

The MVC 6 post does a good job reflecting Sneed’s tone and style. “The time has come to say goodbye to Windows Communication Foundation (WCF),” he writes. “Yes, there are plenty of WCF apps in the wild—and I’ve built a number of them. But when it comes to selecting a web services stack for greenfield applications, you should no longer use WCF. There are many reasons why WCF has lost its luster, but the bottom line is that WCF was written for a bygone era and the world has moved on.” You can find Tony’s words of wisdom by visiting blog.tonysneed.com.

So you don’t ever have to go it alone. You’ve always got help getting the most out of everyone’s favorite framework.

Stay tuned for more .NET blogs to follow in the coming weeks!

Posted by Lafe Low on 07/20/2016 at 2:28 PM0 comments


#VSLive Boston Recap: Key .NET Updates, NUI & Beyond

Visual Studio Live! Boston was a great success. As a local guy, it was a thrill to have the event right here where I live. Any time anyone needed a recommendation for a restaurant or an Irish pub, I was happy to help.

For me, the keynote and general session are always a big draw, and VSLive! Boston was no exception. The event kicked off on Tuesday, June 14 with a lively keynote from Microsoft’s own Jeffrey Fritz, and on Wednesday morning, June 15 there was an equally inspiring and entertaining general session from Tim Huckaby.

Keynote: The Future of .NET

Jeffrey Fritz is the senior program manager for the developers outreach group at Microsoft. He started off the show with a look at where .NET is and where it’s going, as well as a glimpse into some of Microsoft’s other development tools. “.NET has come a long way from a long time ago, and by a long time ago I mean 2014 and 2015,” he says.

The big news is clearly reusable code and running on multiple platforms. Bringing the Windows, Linux and Mac platforms together means helping them use many of the same components, says Fritz. “.NET has been fractured over the last few years, now we’re bringing it together,” says Fritz. “Reusing code used to be a nightmare. Now, whether you’re using .NET Framework, .NET Core or Xamarin, it’s the same runtime components and the same runtime model.”

Fritz described Microsoft’s efforts to make the .NET library easier to use and easier to share across platforms. “We’re turning things around here. We’ll reference the full implementations upon deployment. So you get to master just one library, not just a platform.” He appealed to the Lord of the Rings geeks in the crowd (myself included), calling it, “The .NET library—one library to rule them all.”

Click here read more about Jeffrey Fritz’s keynote session at VSLive! Boston.

General Session: The Current State of NUI

Then on Wednesday, Tim Huckaby took the stage to give us his take on the current state of the natural user interface. Huckaby is the chairman and founder of InterKnowlogy, Actus Interactive Software and VSBLTY. “You may not know us,” he says, “but you’ve used our software.” Huckaby’s companies have built software for such renowned organizations as NASA, Levis, Raytheon, Coca-Cola, ABC, and NBC.

“We now have a NUI—a natural user interface,” he says. This could even lead to thought controlled computers and technology he explains. “Imagine a paralyzed person thinking their way to steering their wheelchair.”

Huckaby recalled Moore’s Law, which is essentially a prediction of technology developing in leaps and bounds. “Computers are currently calculating at the speed of small animals,” he says. “By 2020, they’ll be calculating at the same rate as a human brain. That’s crazy, scary interesting.”

Huckaby finished up with a demo session on 3D cameras, and the software developed to display and analyze video capture. “3D cameras do amazing stuff, and they’re only about $150,” he says. He also says these cameras can be extremely accurate for facial recognition, which makes them well-suited for security applications.

Click here to read more about Tim Huckaby’s general session keynote at VSLive! Boston.

Visit the VSLive! website for more information on our upcoming events!

Posted by Lafe Low on 06/29/2016 at 2:28 PM0 comments


James Montemagno: Xamarin, C#, and the .NET Developer

Microsoft’s acquisition of Xamarin is one of the biggest stories to come out of the development world recently. After all, it could change the way you develop apps for mobile devices from here on out.

We recently checked in with Xamarin developer evangelist and insider James Montemagno for his thoughts on this groundswell movement.

"What has been one of the most positive outcomes of Microsoft’s acquisition of Xamarin?"

Microsoft’s acquisition of Xamarin has been a big win not only for Xamarin developers, but for every developer looking to go mobile.

Some of the largest announcements have been that the Xamarin platform is now included in Visual Studio, including the Community Edition, at no additional cost. This means anyone and everyone can start building beautiful native iOS, Android, and Mac apps all in C# for free. What’s probably the bigger win for the .NET community was the open sourcing of Xamarin SDKs for iOS, Android, and Mac, as well as our incredibly popular Xamarin.Forms library for building cross-platform user interfaces, and the launching of http://open.xamarin.com.

"What are the primary benefits for developers using Xamarin?"

There are several key benefits to using Xamarin to build mobile applications for iOS, Android, and Mac. First, you’re creating real native applications on each platform with 100 percent API access and fast native performance on each platform. Developers get to do this all from C# or F#, both extremely powerful and amazing languages, right inside of Visual Studio on a PC or Xamarin Studio on a Mac.

The beautiful part is developers get to access all of their favorite .NET libraries and create a huge shared code library that all of their mobile apps can use. This means apps can share anywhere between 70-90 percent of their code across all platforms. The mobile app users get lovely applications with awesome features and run completely native on their platform they are using.

"Is Xamarin truly the secret sauce to developing apps across any platform?"

As a mobile developer who has been developing with Xamarin since 2011, I think the secret sauce is the Xamarin platform was built with a native-first approach to cross-platform development. This means Xamarin makes it a priority to ensure anything an Objective-C, Swift, or Java developer could do on iOS or Android could also be done by a C# developer using Visual Studio with Xamarin. It also means that if there’s a feature I want to implement or library I want to use, I have access all in C# with powerful C# features. It's pretty fantastic.

"From your perspective, which do you prefer and why: to work with Xamarin on a particular platform or language to do your initial development?"

If you follow me online, you know I absolutely love Android. It’s a crazy, beautiful, complex, and all-over-the-place platform I love to tweak and try out new things. And I've really fallen in love with Material Design. That’s where I love to spend a lot of my time, but I love all the platforms. Xamarin supports F# very well, and VB developers can even build Xamarin apps using Xamarin.Forms and Portable Class Libraries (PCLs).

For me it has always been about the expressiveness and elegance of C#. There is so much awesome packed in there like async/await, Linq, and all the amazing C# 6 features. I can’t wait to start using C# 7 and take advantage of pattern matching, new tuples, and more in my apps on iOS and Android.

"What’s next for Xamarin? What do you see happening over the next couple of years?"

It’s an extremely exciting time right now for Xamarin and Xamarin developers. The open sourcing of the Xamarin platform means anyone can start contributing and start adding features. The tooling, integration, libraries, and plugins will get stronger and simplify development for all mobile developers. It’s also an exciting time to be a .NET developer who wants to go mobile.

James Montemagno is a Developer Evangelist at Xamarin. He’s also a frequent speaker at Visual Studio Live! events.

Posted by Lafe Low on 06/16/2016 at 2:28 PM0 comments


#VSLive Austin Recap: .NET Core, Key Visual Studio Updates & Composing Your Code

There's always something new to learn at Visual Studio Live!, no matter where the event lands. And the Austin event held in May was no exception.

We’ve covered the excellent presentation from Scott Hanselman already, and here's a brief recap of the two other keynotes/general sessions from VSLive! Austin.

(Missed the event? Watch all three addresses now by visiting https://vslive.com/austinvideo.)

Keynote: Visual Studio - Looking Into the Future

At the opening keynote on May 17, Microsoft’s Tarek Madkour gave the eager crowd a look at the enhancements they can expect in the forthcoming Visual Studio 15 release. This is not to be confused with Visual Studio 2015—another of the many twists and turns in Microsoft’s naming conventions.

In addition to discussing these Visual Studio updates, Madkour also covered a lot of the openness going on at Microsoft lately, especially the notable .NET and .NET Core developments.   

The massive size of Visual Studio—in any of its releases—has long been an issue for developers. Microsoft took notice, so it will release Visual Studio 15 in two flavors: the full 40 GB Visual Studio Enterprise and the preview version with the new installer.

“The core Visual Studio shell includes the editing, building and debugging—not just specific languages,” Madkour says. “You can add those as workload. Based on discussions with developers and looking at developer behavior, we can now pick workloads up front.”

Madkour also made it clear that the goal with the new installer is to make it more lightweight. “It takes MBs, not GBs," he says. "It’s optimized for the scenario you want. We picked the tools we see most people using.”

He also talked about the Xamarin acquisition and the opening of .NET Core, as well as the direction of covering all platforms and devices. “We have the .NET framework, which runs on Windows. Then we have Xamarin, so you can take the beauty of .NET and go cross platform to iOS or Android. Lately, we added .NET Core—our version of .NET that is open source and goes across all platforms.”

He pointed out that while .NET now is open source, any code still has to go through a rigorous process. And then it is supported by Microsoft.

General Session: Coding, Composition, and Combinatorics

The Wednesday general session, held on May 18, featured the always entertaining and informative Billy Hollis. His thesis is that complex problems demand a different approach.

Hollis dove deep into taking different approach to assessing and solving problems, which fits well into his character. “I tend to look at things a bit differently than most people,” he says. No argument there!

Hollis urged everyone to start thinking of problems from a compositional standpoint. He describes that as the act of combining parts, pieces and elements together to build a larger whole.

“What compositional thinking does is give you a new way of thinking about a problem,” he says. “This space of combinations lets you search the space for the pieces of the combination that solve the problem you have. So you stop thinking about problems in a linear and procedural way.”

He points to XAML as particularly well suited for this approach to thinking and problem solving. “There’s compositional thinking in XAML. That has a good visual way of showing composition,” he says. “You get a good idea of what the individual pieces are doing.” This approach is not only quicker, but also results in higher quality.

“The compositional approach makes you spend more time trying to understand the problem,” he says. “When you’ve got the right mental model, solving problems will be much faster and easier.”

The next Visual Studio Live! events will be held in Boston, MA on June 13-16, and Redmond on August 8-12, 2016. Check out the VSLive! website for more details on all of our upcoming events.

Posted by Lafe Low on 06/09/2016 at 2:28 PM0 comments


Scott Hanselman: JavaScript & the Rise of the New Virtual Machine

If you were just at VSLive! Austin, there’s no doubt you learned a lot and saw some great presentations from the likes of Billy Hollis and Tarek Madkour (more on that in another upcoming post).

Hopefully, you had some time to avail yourself of the sights, sounds and sensations of Austin as well. Renowned as a music destination (hence the hit show Austin City Limits), it's also a semi-paradise for foodies and just an all-around funky place. And it’s in Texas!

But you didn’t have had to leave the conference to be entertained. Did you happen to catch Scott Hanselman’s general session last Tuesday? (If not, the video recordings for all the keynotes/general sessions can be found here.) If Scott decides to retreat from his career as a major developer advocate/evangelist/rockstar guy, he could find success as a stand-up comedian. He punctuated most of his punch lines by displaying some hilarious GIF files.

His general session was basically a revved-up pep talk for developers moving into the brave new world of the open Microsoft, virtualization and the cloud. While Hanselman is indeed an official Microsoft guy, he doesn’t work in Redmond (symbolized by the Death Star on screen).

“I work in Portland, and I work in open source,” he says. He equates that to working at Microsoft, “like a bunch of storm troopers running around pushing buttons and hoping they don’t blow up another planet.”

The Virtual Machine "Strikes Back"

Jokes and puns aside, Hanselman did point out how well things are working in the world of code and encouraged everyone to get out and get at it. “The problems have been solved. The internet has changed. Get those virtual machines to do some work with all those processors out there,” he urges.

“We can expect more from our web tools. It actually kind of works now; it actually fits together pretty nicely. You’ve got this great cloud with massive scale and elasticity. Go out there, and use those unlimited virtual machines. Don’t forget client side. Put that to work. You have more power than you realize. You know this stuff. Get to work.” Mic drops.

But I’m still wondering... where did he find all those awesome GIFs?

Visit the VSLive! website for more details on upcoming events.

Posted by Lafe Low on 05/31/2016 at 2:28 PM0 comments


Subscribe


Upcoming Events