top of page
Writer's pictureBy Alexander Batenhorst

Updated: Oct 3, 2023

• SDK

Azure DevOps: A Game Changer for Software Development


Azure DevOps is a topic that I find relevant for anyone who works in software development. It is a set of cloud-based services that help you plan, develop, test, deploy, and monitor your applications. It supports any language, platform, and cloud, and integrates with GitHub and other popular tools.


How Azure DevOps Benefits Your Organization


Azure DevOps is a cloud-based platform that offers a set of tools and services for software development, collaboration, and delivery. It is designed to support various agile methodologies, such as Scrum, Kanban, and Scrumban. Azure DevOps can help your organization achieve technical, cultural, and business benefits, as I learned from a presentation by Owen (Omaha .Net meetup, September 28, 2023). I started my journey in software development with GitHub and Azure DevOps. I can’t imagine a world without these tools and the ones I mention later.


Technical Benefits


One of the features that I appreciate the most in Azure DevOps is the code review tool. As a software developer, I have used different tools for code review, but none of them compares to Azure DevOps. The code review tool in Azure DevOps allows me to collaborate with my peers, get feedback, and improve my code quality. It also integrates seamlessly with other Azure DevOps services, such as Azure Repos, Azure Pipelines, and Azure Artifacts. These services provide me with a comprehensive solution for code hosting, management, automation, and distribution. Azure DevOps also helps me ensure the quality and performance of my software, by using Azure Test Plans and Azure Monitor.


Cultural Benefits


One of the benefits of using Azure DevOps is that it creates a culture of taking chances. You can submit a pull request and have your code reviewed and confirmed before merging. This way, you can experiment with new ideas and learn from your mistakes.


Another benefit is that Azure DevOps provides you with a variety of tools to manage your projects. You can use Azure Boards to plan and track your work, using different types of work items. You can also choose the agile process that suits your needs, such as Scrum, Kanban, or Scrumban. Azure Boards can help you see your work flow, prioritize your tasks, and monitor your progress.


A third benefit is that Azure DevOps enhances the communication and feedback within your team and with your stakeholders and customers. You can use features such as pull requests, code reviews, comments, notifications, and dashboards to share your work, get feedback, and collaborate with others. Azure DevOps can help you foster a culture of collaboration and transparency in your organization.


Business Benefits


As a software developer, you want to create awesome products that your customers love. But you also want to do it fast and efficiently, without compromising on quality or security. That's where Azure DevOps comes in. Azure DevOps is a cloud service that helps you plan, develop, test, and deploy your software projects. You can use it to manage your tasks, set your goals, and track your progress, using data-driven metrics.


You can also save money and time, by choosing the best payment option for your needs, whether it's per user, per job, or pay-as-you-go. And you can scale up or down, depending on your project size and complexity, with Azure DevOps' flexible and secure cloud platform. Azure DevOps is the ultimate tool for software development, and it's easy to use and integrate with your existing tools and workflows.


Conclusion


Azure DevOps is a powerful and versatile platform that can help you improve your software development process and deliver better products to your customers. It can provide you with technical, cultural, and business benefits, such as faster and more reliable software delivery, improved collaboration and transparency, and increased customer satisfaction and value. As Owen summarized, Azure DevOps is a “one-stop shop” that can make your development faster.


Sources:

  • Owen. (2023, September 28). Azure DevOps. Presentation at Omaha .Net meetup, Omaha, NE.

  • Simplilearn. (n.d.). Azure DevOps: The Next Big Thing in Application Lifecycle Management

Writer's pictureBy Alexander Batenhorst

• SDK • C#


Are you ready to take your IoT (Internet of Things) game to the next level? I know I am! After all, this is my first article related directly to my domain name—www.IoTAlex.com. In this blog post, we will review Azure IoT Hub, a cloud-based service that enables developers to connect, monitor, and manage IoT devices. We’ll discuss some of its features and share an example in VS Code—via a GitHub repository (link to repo coming soon). IoT Azure Hub provides a secure and scalable platform for IoT applications and services.


IoT, as a general description, is interconnection of physical devices, vacuum cleaners, buildings, and other objects embedded with sensors, software, and network connectivity that enable them to collect and exchange data. IoT is important for developers because it enables them to create new applications and services that can improve people’s lives.


During a presentation by Sudarsan at the Azure Omaha User Group, he gave a demo over message routing, checking the message logs in Azure IoT hub using VS Code, and using a device simulator (reading from the service). To paraphrase his description of IoT, in the context of Azure IoT Hub, is any two devices (anything) that can talk to each other connected online to a central hub.


Free is Good


Azure IoT Hub provides a free trial that can be set up on Microsoft’s Azure portal page. The trial offers end-to-end VPN encryption as the first option on setup and allows users to increase partitions and devices. It also provides five security policies.


In addition to this, Azure IoT Hub offers a device provisioning service that enables scalable and secure device enrollment. It provides flexible attestation and automatic device registrations. Provisions are provided in SDKs (i.e. ways to explore programming with Azure IoT Hub via SDKs), including SDKs for multiple programming languages, Azure IoT Explorer, Azure IoT Central, and Visual Studio code-based tools.


Communication Bridge


Azure IoT Hub acts as a communication bridge between IoT devices and the cloud. It offers three paths for data processing:

  • Hot path – real-time processing

  • Warm path – data processing but not real-time

  • Cold path – accumulates data over time

For example, in the case of a thermostat alerting the user that their thermostat is not connected, the warm path would be used—data processing. These are the three different data processing paths offered between the device and Azure IoT Hub.


One of the major features of Azure IoT Hub is message routing. It offers a lot of different use cases—for extraordinary needs. Since IoT devices are expected to shut down, there is a high probability of device sleeping. Then there is the issue of pervasive availability of affordable sensors. Which isn’t a true issue but rather floods the market with all sorts of choices/applications for IoT devices. All of which could be applied using Azure IoT Hub. Then there are advancements in connectivity and the rise of cloud computing, which greatly impacts the way we can use devices presently and in the future.


Conclusion


Azure IoT Hub is a powerful and versatile service that enables developers to connect, monitor, and manage IoT devices in the cloud. It offers various features and benefits, such as device provisioning, message routing, three types of data processing, and security policies. It also supports multiple SDKs and tools for different programming languages and platforms. Azure IoT Hub is a great choice for anyone who wants to build scalable and secure IoT applications and services—yet another SDK that’s free to explore. You can explore more resources on the official documentation. I hope you enjoyed this review and learned something new about Azure IoT Hub. Thank you for reading!


If you want to try Azure IoT Hub yourself, you can check out Sudarsan's repo as an example (link coming when available). You can also find more resources and tutorials on the official Azure IoT Hub website: https://azure.microsoft.com/en-us/products/iot-hub.


Sources as of 08/02/2023 Microsoft. (2021, July 14). What is Azure IoT Hub? [Web page]. Microsoft Docs. https://docs.microsoft.com/en-us/azure/iot-hub/about-iot-hub

Srinivasan, S. (2023, July 19). IoT Azure Hub [presentation]. Presented at the Azure Omaha User Group meetup in person at Concentra.

Writer's pictureBy Alexander Batenhorst

• SDK • C#

One of the main advantages of Maui Blazor is that it is cross-platform. You can use the same code base to target Windows, Android, iOS, and macOS devices with native performance and look-and-feel. This means you don't have to learn different languages or frameworks for each platform, which can save you time and effort.


Maui Blazor is a newer technology that allows you to create hybrid apps that combine web and native UI elements using C# and Razor. In this blog post, I will share some of the benefits of using Maui Blazor for new developers and how you can get started with it in minutes.


DIY for Beginners


To get started with Maui Blazor, you can follow a simple guide that shows you how to build your first app using Visual Studio—found at the end of this article. With the basic Blazor application, you can create a basic app that displays a counter and a weather forecast using web components. You can also customize your app with native controls and platform features using C# and XAML.


XAML – Low Level Understanding


To use XAML, you create a file with the .xaml extension and write the XAML code to define the layout and appearance of your user interface. The XAML code is then parsed and used to create the visual elements of your application at runtime.


Here is an example of a simple XAML file that defines a button:


<Button Content="Click me!" />

This XAML code creates a button with the text “Click me!” on it. When the application is ran, the XAML code is parsed and a button is created and displayed to the user.


XAML is a language used to create the look and layout of an app’s user interface. It’s like a blueprint that tells the app what buttons, text, and other elements to show on the screen and where to put them. Developers write XAML code in a special file and when the app runs, it reads the code and creates the user interface based on the instructions in the XAML file. For the purposes of the rest of this article, you don’t need to fully understand XAML. However, I felt necessary to show a quick example like the one above to form a better understanding. And to demonstrate how easy it is to create things like a button.


Maui Blazor Introduction

I learned about Maui Blazor from a presentation given by Timothy Ingledue at the May 2023 Omaha Dotnet User Group meetup. He is an accomplished software engineer with over two decades of experience in the field. He specializes in the Microsoft and AWS cloud technology stacks. He demonstrated how easy and powerful Maui Blazor is for creating hybrid apps. And to avoid “tutorial rot,” you’re not going to want to miss this short and sweet tutorial over Balzor Maui. As mentioned in my previous posts, avoid lengthy complex coding tutorials, if possible, especially when first starting out.


Blazor vs. Maui Blazor


Over three years ago, I was introduced to an SDK via a Blazor application tutorial. I have been interested in Blazor ever since. But there is a distinction between Blazor and Maui Blazor. Blazor is like a set of building blocks that lets you make websites using C#. .Net Maui is another set of building blocks that lets you make apps for phones, tablets, and computers using C# and another special language called XAML (cross-platform). With .Net Maui, you can also use the Blazor building blocks to make apps that work like websites but can also do things that only apps can do. In other words, Blazor is for making websites and .Net Maui is for making apps, but you can also use Blazor with .Net Maui to make apps that work like websites.


But initially most of my exposure to software development was using C# on the back end. I like Blazor because it simplifies web development by using C# instead of JavaScript. Seeing Maui Blazor for the first time was exciting because it extends Blazor to native platforms.

Conclusion


Maui Blazor is great for new developers because it lets you use your existing C# and web skills to create hybrid apps for multiple platforms. You don't have to learn new languages or tools, and you can leverage the rich ecosystem. If you are a new software developer who wants to learn more about the full stack or how modern APIs work, you might be interested in Maui Blazor. Maui Blazor can help you see the whole stack because it combines web development with native development. You can use Razor components to create your user interface and interact with platform features and UI controls—low code development. You can also use C# and .NET libraries to access data and services from various sources, such as databases and Rest APIs.


If you want to try Maui Blazor yourself, you can check out Timothy's repo with step-by-step instructions: https://github.com/Muaadeeb/May2023UserGroupMaui. I will note that I did enjoy the AI created Lizard images in the presentation. Remember, everything you see is free. You can also find more resources and tutorials on the official .NET Maui documentation site: https://docs.microsoft.com/en-us/dotnet/maui/.


Reference: Ingledue, T. (2023). Maui Blazor: Build hybrid apps with web and native UI elements [Presentation]. Omaha Dotnet User Group Meetup.

bottom of page