Buy Me A Coffee

domingo, 20 de junio de 2021

Youtube Channels (with Twitter Account) to learn Blazor

As you may know, Blazor has rapidly been turning into the technology of choice to speed up your Software Development, and deliver products faster while keeping best practices and reduce code duplication.

At the same time there have been more and more persons asking where they could learn more about Blazor, in this post we will add the information for some Youtube channels where you will be able to learn more of it.

If you have a Youtube channel (and Twitter account) where you teach Blazor, please let us know, and we'll add it to the list.

domingo, 13 de junio de 2021

How To Prepare for MAUI Blazor in Microsoft .NET 6

Prepare For MAUI Blazor in the next evolution of Xamarin Forms & .NET Core: .NET 6 MAUI

MAUI is the evolution of Xamarin Forms, and it a now allows you to combine it with Blazor to make great cross platform systems in no time, allowing you to reutilize your components as much as possible, and have consistent layouts across the different platform specific builds for your system.

MAUI Blazor is great, though, you need to have some special considerations, one of those being that not all of your Blazor WebAssembly logic will be able to be reutilized so simply.

Those issue however, have solutions.

You need to take advantage of Blazor component-based design, and make sure that most of the pieces you want to reutilize in your MAUI Blazor app, are designed as independent components, it is also better if those components only receive the data.

In situations where you need to use Azure Ad B2C, you to do so, in the same way you would do outside of the Blazor Webview, and instead do so in the same way you would do it for Xamarin.Forms applications, after all, remember that MAUI is the next evolution of Xamarin, and MAUI Blazor is Blazor on top of MAUI.

Check the following videos to learn what you need to be prepare for MAUI Blazor.

sábado, 29 de mayo de 2021

How To Create The Next Youtube or Twitch using Blazor, .NET 5, and Microsoft Azure - Part I


There are countless types of solutions you can create when developing software.
Today, we will see a small introduction on how to create your very own Video Sharing Portal,
with Blazor, .NET 5, and Microsoft Azure.

The Architecture

Before starting to code any project, it is vital to have an understanding of the architectural components required by the system and how all of the pieces will interact.

The diagram displayed here is just one of the many ways in which you can implement Video Sharing Portals, there is no right or wrong architecture, since it ultimately depends on your own specific needs and business strategy, however, there are best practices, you can learn of those in the Azure Architecture Center, take a special look to the Reference Architectures section.

Our diagrams are the proposed solution for the Open Source Project FairPlayTube, which has the following items:
  • Users
  • Azure Web CDN
    • Used to speed up load times.
  • Blazor WebAssembly Client App
  • .NET 5 Server API
  • Azure Blob Storage
    • Used to store users uploaded videos
  • Azure SQL Database
    • Use to store users and videos-related data, while enforcing Data Integrity.
  • Power BI
    • Used to visualize Error Logs from Desktop and Mobile App
  • Azure AD B2C
    • Used to allow secure and centralized users authentication
  • .NET 5 Background Jobs
    • Used to monitor the videos indexing progress and update data accordingly.
  • Azure SignalR
    • Used to notify users when their videos have been indexed, as well as when they have received new messages from other users.
  • Azure Speech
    • Used as an accessibility helper, to allow users to hear an audio representation of the content in the page.
  • Azure Video Analyzer (formerly Azure Video Indexer)
    • Used to analyze videos and generator insights
  • Azure Personalizer
    • Used to show the best content for the users
  • Azure Translator
    • Used to automatically translate the text-data to multiple languages
  • Azure Cognitive Search
    • Used to allow for high quality fast search of videos

You can find the repo here: FairPlayTube Repository
There you can check the Readme and the Wiki.

Here you can see a small sample of the development progress

martes, 20 de abril de 2021

Optimize your new Developers Onboarding process with Microsoft Azure

A common scenario in Software Development Onboarding process, is that the developers need to configured their environment, usually from scratch.

Depending on the system's complexity and network connection speeds, these setups can take more than a day, even a whole week in exceptional cases, meaning the new resources will not be productive immediately.

In today's world, immediate productivity is a must, therefore, as company owners, 
we must do what is within our reach to make new resources be productive as soon as possible,
here is where Microsoft Azure comes to play.

Microsoft Azure has a vast quantity of services for all of your needs, one of those is
Shared Image Galleries.

With Shared Images Galleries, you can pre-configure Development Environments Virtual Machines and every time you hire a new Software Developer, you just create a new VM based on those already
pre-configured VM Image Definitions.

Check more here:

Would you like to know more about Microsoft Azure?
Feel free to contact me through Upwork or LinkedIn

viernes, 19 de marzo de 2021

Why you must move to Blazor

If your business develops applications on .NET, you probably have already heard of Blazor.

Blazor is a framework for building interactive client-side Web UIs with .NET, 
a dream come true, not only for .NET Developers, but also for companies who want to optimize their development speed, while maintaining high quality standards, avoid code duplication, and reuse existent code in both server-side and client-side.

Blazor allows you to create rich interactive UIs using C#, reducing and even eliminating
your need to create Javascript code.

Blazor allows you to share your logic written in .NET between server and client-side, e.g. a custom regex validation that needs to be performed in front-end and in back-end, well, with Blazor, you can reuse the actual validation classes between client-side and server-side, effectively implementing the validation only once.

Blazor allows you to utilize a lot of already existent .NET libraries, on your client-side!

Another great feature of Blazor, is that Blazor apps are based on components, which in Blazor are elements of UI such as a page, dialog or data entry, and since they are implemented as components, they can be reused throughout your application, and even be shared with other applications when you create them as a Component Library.

One of the best features of Blazor, is that, due to is design, it allows you to create fully-featured, nice-looking, rich Web Applications. in no time, even as low as a day, since it removes the need of using other frameworks like in the traditional SPA ( Single Page Application ) approach depending on Angular, React, or similar.

Blazor is in fact, the perfect framework for creating MVPs ( Minimum Viable Products ) and go to market quickly, without sacrificing quality.

Since Blazor runs fully on .NET, you can even create .NET based automated test for your front-end!

Tell us, when are you moving to Blazor?

We help you move to Blazor: Hire Us here

jueves, 17 de septiembre de 2020

Introduction to PTI.Microservices.Library

Today we want to introduce you to "PTI.Microservices.Library", a NuGet package designed to aid developers create systems faster by integrating several cloud services, abstracting some of the repetitive logic, adding exception handling, an logging, while also allowing developers to have control of the configuration.

Why "PTI.Microservices.Library" was created?

At PTI Costa Rica, we do lots of Research And Development, we develop many POC (Proof of Concept) code, and many times those tasks tend to be repetitive, writing the same code.

We also like to use Strong Types and take advantage of methods such as PostAsJson, ReadFromJson, etc.

So we decided to take all that we have in our POCs, along with some of the custom code we have in our applications and convert it to a NuGet package, and share it so our customers can use it.

The package was recently released as preview, and the official documentation will be here:

Currently the package is in preview so it is free, however, the product will be accesible through a monthly subscription once it is out of preview, which should happen by the end of year 2020.

martes, 8 de septiembre de 2020

Why migrating to .NET Core, soon 5 is a must, specially after the pandemic

The COVID-19 pandemic has greatly affected companies, many being force to reduce their workforce, 
many employees have had to accept new contract arrangements with reduced salary, 
and people motivation and happiness has generally beeng reduced as well.

As result of all of this and more, companies had had to change their strategies,
many companies have had to become digital in order to survive, and since the end of the pandemic is actually unknown, companies need to reduce their expenses as much as possible, while still been agile and great in their operations.

Many companies still use old technologies, and many still are reluctant to migrate from .NET Framework to .NET Core, even if is it just for new applications.

I have worked with .NET Framework since 1.1, and with .NET Core since it's first release candidates, and I also have migrated projects across versions of each, and from .NET Framework to .NET Core.

When you develop systems with .NET Core, you actually see the difference, not only in performance, but also in development speed, which is in turn heavily linked to the time it would take for a system to be ready for go to market.

Advantages of moving to .NET Core

  • Better systems performance
  • Less overhead in systems
  • Faster communication across systems
  • Cross platform support
  • Faster software development
  • Easier development of reusable components
  • Ready for Cloud-Native applications
  • Enhanced from the lessons learned in original .NET (.NET Framework)
  • Increased range of application types you can create
  • Save you time and money
  • More innovation opportunities
Migrating not only reduces cost, while giving you an advantage over your competitors, but it is also a way to motivate your human resources, which has become even more vital after the pandemic.