Azure ❤️ Containers

Mustafa Toroman, MVP for Microsoft Azure, shared with us the talk “Azure loves Containers” as part of AP’s Dev Talks Meetup. I enjoyed it a lot so I just felt like sharing.

Enjoy!

Mustafa published several books on cloud technologies. Lately, his focus is on designing new solutions in the cloud and migrating existing ones to the cloud. Mustafa possesses over 40 Microsoft certifications. Also, he has held the MCT title for many years and has been awarded the MVP for Microsoft Azure for the last four years in a row. He often speaks at international conferences about cloud technologies and now it’s time for Dev Talks Meetup where he will cover topic ‘Azure Loves Containers’.

Containers are the latest big thing in the cloud. They are light, fast, and consistent. And they fit very well into DevOps. Azure offers multiple container options to choose from. And each one of them makes deployment of our applications easy. Let’s see how to build your containers and deploy them anywhere.

C# Tuple

I have recently found this C# feature and found it interesting, let’s take a look.

C# tuples are types that you define using a lightweight syntax. Basically, it gives you the opportunity to define data structures with multiple fields without the complexity of using classes.

Please look at the following example.

(string, int) tuple = ("Hello", 1);
Console.WriteLine($"Tuple with elements {tuple.Item1} and {tuple.Item2}.");
// Output:
// Tuple with elements Hello and 1.

Optionally, you can define the field names.

(string Text, int Count) tuple = ("Hello", 1);
Console.WriteLine($"Tuple with elements {tuple.Text} and {tuple.Count}.");
// Output:
// Tuple with elements Hello and 1.

Another interesting feature of tuples is the support for equality operators.

(string Text, int Count) left = ("Hello", 1);
(string Text, int Count) right = ("Hello", 1);
Console.WriteLine(left == right);
// Output:
// True

Also, you can assign tuples to each other. Keep in mind that tuples must have the same number of fields and the values must be implicitly converted.

(int, double) tuple1 = (17, 3.14);
(double First, double Second) tuple2 = (0.0, 1.0);
tuple2 = tuple1;
Console.WriteLine($"{nameof(tuple2)}: {tuple2.First} and {tuple2.Second}");
// Output:
// tuple2: 17 and 3.14

Now, I must say that you should not go crazy with tuples; replacing separate classes with tuples because you will save a few lines of code it is not a good idea, so before implementing tuples in your code base make sure to document their usage for scenarios where they could be helpful without sacrificing your code quality.

A tiny overview at tuples, but share your thoughts.

For more information about tuples visit Tuple types – C# reference | Microsoft Docs.

IE and the New Microsoft Edge

Microsoft is stopping Internet Explorer support in 2021. Finally, the 25-year-old browser is coming to an end.

It has been a crazy ride, in 1995, Internet Explorer controlled 90% of internet traffic, and just a few years later it was clinging to his throne. We all remember Microsoft, trying to force-feed it to all of us.

And what about the endless struggle between thousands of miserable web developers around the world trying to make their websites look acceptable on IE.

Anyway, IE is coming to an end after all and we can talk about his successor.

The New Microsoft Edge

Microsoft is telling us “It’s time to expect more”, with the New Microsoft Edge, Microsoft is promising us a browser with world-class performance, great speed, more privacy and control, new features to increase our productivity, and much more.

Beside this we can take the experience across our devices, the New Microsoft Edge is available for Windows, macOS, iOS and Android.

New vs Old

Another question that popped into my mind is, what does “New” exactly means? This implies that there are 2 different versions of Edge, an old one and a new one?

Well, that exactly what this means, Edge was initially built with Microsoft’s browser engine EdgeHTML and Chakra JS engine; it happens, both are forks of Microsoft’s Trident and JScript engines used by Internet Explorer

So, old Edge refers to the Edge version which is using EdgeHtml and it is a close relative of Internet Explorer.

Now, the New Edge, it is a complete rebuild of Edge based on Chromium, the open-source project developed by the Google-sponsored Chromium project and used by Google to make Chrome.

This is not a new move, there are other browsers including Opera that use Chromium at their base.

So now everything should be clear:
Old – Internet Explorer Based <= 44.19041
New – Chromium based >= 79.0.309

I am sure you noticed the huge leap between these two version numbers, that is because from the New Edge release, Microsoft has adopted the chromium version number for Edge.

Thoughts

Well, as you can imagine there are different opinions regarding the New Edge, so here is another one:

I have been using the new Edge for the last ~3 months and I plan to stick with it, I like it.

Being honest, I do not miss Chrome, which was the browser I was using before and the New Edge does not feel like Internet Explorer. I have been doing web development as part of my job and I am so glad to see the thigs working as they are supposed to.

I was worried about the Chrome extensions I was using but that fear rapidly disappeared because not only Edge has its own add-ons gallery (currently in BETA and growing), but it allows you to get extensions from the Chrome Web Store. Problem solved.

The transition was painless, at initial open it allows you to take everything from your previous browser. Syncing between my devices worked as expected and I have been using some of its flagship features like collections, its privacy controls, immersive reader, and so far, it has been a good experience.

Give it a try.

AZ-900 Microsoft Certified: Azure Fundamentals – How to Pass

So, I have just passed Exam AZ-900: Microsoft Azure Fundamentals

For all of you that are thinking of taking this exam, here is how I passed, just 2 steps:

Step 1: Microsoft Learn: Learning Paths

Microsoft offers Azure Fundamentals Learning Paths for free in Microsoft Learn, I studied this material, part 1 to 5; this is the recommended online training for this exam from Microsoft.

Microsoft Certified: Azure Fundamentals – Learn | Microsoft Docs

Step 2: Microsoft Azure Fundamentals Certification Course (AZ-900) video from freeCodeCamp

I really liked the structure of this video; it allows you to go through a lot of Azure concepts divided in small capsules (2-5 minutes) which give you a good overview of Azure.

And that’s it, that’s the preparation I had before presenting the exam.

However, I must say that I had a little of hands-on experience with Azure myself and even though I don’t have experience with every topic from the exam, it definitely helped. So, if Azure is completely new for you, you should consider adding a few more elements to your exam preparation.

Here are some ideas from a colleague that presented the exam and nailed it!

JuniorLearnsToCode: How to Pass AZ-900 Azure Fundamentals Certification Exam

Good luck!

Xamarin Hello World

Xamarin, a platform for building Android and iOS apps with .NET and C#. It is Free, it is cross platform and it is open source; so let’s get started at the very basic, a good old-fashioned Hello World.

Setup

The first thing you need to do is to set up your development environment, start by downloading Visual Studio 2019 if you don’t have it already and make sure to select Mobile development with .NET workload during installation.

If you’re already a .NET developer it is very likely that you already have installed Visual Studio, if this is your case and you haven’t included this workload over the initial installation you can add it by opening the Visual Studio Installer. Select your Visual Studio 2019 installation and select More > Modify; check the Mobile development with .NET and click Modify.

Create app

Ok, now we are ready to create our app! As simple as following the next steps.

  1. Open Visual Studio 2019.
  2. Select Create a new project.
  3. Select Mobile from the Project type drop-down.
  4. Select the Mobile App (Xamarin.Forms) template and click Next.
  5. Enter HelloXamarin (or whatever name you’d like) and click Create.
  6. Select the Blank template. Ensure Android and iOS are both selected, and click OK.

Visual Studio will prompt you to install the Android SDK if it is not already installed.

Run

Once Visual Studio finishes downloading required SDKs and restoring NuGet packages let’s run our app.

Click Run on Android Emulator. Since it is the first time, you will be prompted to create a new device; you can just click Create and go with the default settings or customize it your way.

Once VS is finished downloading device image you should be able to start your emulator, wait a few seconds for it to start and click Run again.

It’s alive! Now let’s go for that promised Hello World.

Hello World

Another cool feature about Xamarin is XAML Hot Reload, this means you can make changes to your XAML files while the application is running and the UI will update automatically.

So let’s open MainPage.xaml from the Solution Explorer and let’s replace the text Welcome to Xamarin.Forms! with our Hello World! and remove the unnecessary code.

Save the file and magic! That’s it, we have our Xamarin Hello World app running in our emulator.

Posted in Dev