The ability to visualize information effectively is more important than ever. Whether you’re a developer, a data analyst, or a business owner, presenting data clearly...
Director of Nimblesite, Melbourne's Premiere Flutter Development Agency. He has been developing software for over 20 years. Passionate about Mobile Apps and developers, Nimblesite can help you hire the right developer for your project. Call today 1300 794 205
Christian is the Director of Nimblesite, Melbourne's Premiere Flutter Development Agency. He has been developing software for over 20 years and has been developing with Flutter since the early days. He is passionate Mobile Apps and developers. Nimblesite can help you hire the right Flutter developer for your project.
The ability to visualize information effectively is more important than ever. Whether you’re a developer, a data analyst, or a business owner, presenting data clearly...
Building a successful app demands more than just a stellar product. It requires a strategic approach to several non-technical facets, such as marketing, networking, and...
Algebraic Data Types (ADTs) are a powerful functional programming concept that allows developers to model complex data structures more elegantly than traditional object-oriented classes. They...
Most modern software teams do some variation of Scrum. You can read the Scrum Guide here. According to many, Scrum is an “Agile” framework, but...
Introduction
This article introduces you to the concept of Reactive programming (Rx) in Flutter and talks about how a few popular libraries implement it. It talks...
Dart has a powerful feature called extensions. This feature can significantly improve the readability and maintainability of your Flutter code. This comprehensive tutorial explores how...
Back in the day, many desktop apps talked directly to the database. We didn’t have APIs over the top of the database, and quite often,...
35 Best Flutter Blogs - Check out the top Flutter blogs
Dart 3 adds a new feature called Switch Expressions. Dart is a multi-paradigm language that supports both object-oriented, imperative, functional-style and declarative programming. Programmers have...
One of the most common questions developers ask when working with Flutter is how to efficiently manage themes to create visually appealing and consistent UIs...
State management is a critical aspect of building responsive Flutter apps. We often talk about “State Management Solutions” in Flutter, but we rarely break down...
Testing is a critical aspect of software development. It ensures the quality and reliability of an app and allows you to make changes over time...
Rounded buttons in Material Design 3 is even simpler than before. Google’s latest design language offers the ability to enable rounded buttons by default with...
Color plays a critical role in the Flutter user experience. It can enhance or destroy the look and feel of your app. We can represent...
Introduction
This is a parody blog post about how you can manipulate language to make a made-up pattern sound like a perfectly reasonable solution to a...
As a startup, choosing the right technology stack to build your first app is critical. The technology you choose will significantly impact your product’s success...
Search bars are often an essential UI component in a Flutter app. This blog post walks you through creating a search bar in Flutter and...
In Flutter we create animations with the Animation class, which is part of the Flutter animation framework. We can use animations to change the size,...
This article is part of a series I am writing about testing. It refers to an article I wrote on test isolation, which is important reading for...
This article is part of a series on testing that I am writing, and this series is part of an e-book on testing that I...
Artificial intelligence (AI) has already significantly impacted various industries and is quickly making its way into software development. As AI technology advances, software businesses will...
Hiring a software developer can be daunting, especially for small businesses or startups with limited experience in the field. You may decide between hiring an...
BloC is a common UI pattern in the Flutter world. Google originally created the idea early on in Flutter’s life. Since its inception, the pattern...
The Dart language allows us to implement and mock any class. That’s because Dart has implicit interfaces, which is great for testing. However, some libraries...
Immutability is a very important part of Functional Programming. Dart and F# are two excellent modern languages that support immutability and functional programming constructs. However, Don Syme and the...
ioc_container is an IoC Container for Dart and Flutter. It started about five months ago as a quick way to replace dependencies for testing but...
The Flutter community is always looking for ways to create a clear separation between business logic and presentation. There are several solutions, but they can...
Dart makes it pretty easy to create immutable classes, and several patterns encourage you to use them. However, we often don’t use immutable collections correctly. If...
Device.Net is a cross-platform framework that attempts to put a layer over the top of USB and Hid. It runs on Android, UWP, .NET Framework and...
Trailing commas may sound like a minor aspect of the Dart language, but they have a major impact on the formatting of your code. This...
Google Cloud Run is a serverless container app service. You can deploy containerised apps to the cloud, which will autoscale horizontally with minimal configuration. It is...
Once in a while, I get into a Twitter debate about cross-platform vs. native apps. It’s a difficult conversation because people have very strong opinions...
Flutter gives you a powerful toolset for building rich cross-platform apps. You can build single-source apps on macOS, Windows or Linux and run those apps...
The C# Compiler’s name is Roslyn. Roslyn has a very large set of analyzers to check the quality of your code, but you must turn...
Performance and scalability are two related but separate aspects of a system. However, there is a lot of confusion around the two terms, which often...
Automated testing in flutter is easy. The flutter team built it into the framework from the ground up. They call it integration testing, but non-flutter developers...
You’re probably here because your business has a legacy codebase, and you need to upgrade it. You’re not alone, and almost every business goes through...
Mutation testing is a technique for measuring the quality of your tests.
Navigation drawer is a typical UI pattern for adaptive menus. The Material Design documentation formalizes the menu’s behavior, but this pattern is not peculiar to...
Building classes in Dart is similar to C#, but there are some quirks that you need to be aware of. This article shows you how...
Flutter is Google’s cross-platform UI Toolkit. It uses the language Dart. I have a long history of building cross-platform apps with .NET and XAML. I...
This article gives you a toolset for stopping NullReferenceExceptions in .NET code. The article centers around Nullable Reference Types (NRT), a feature that Microsoft added...
RestClient.Net makes HTTP calls in .NET easy. Send the request body as a strongly typed object, and get back a strongly typed object. You can...
Records are a new feature in C# 9. Records are special classes that borrow from Structs in that they have value-based equality. You could look at them as a...
ASP.NET Core is the most up-to-date Microsoft technology for building web apps. You can build Web APIs for your SPA front-end or traditional web-apps in...
Device.Net is a cross-platform .NET framework for talking to connected devices such as USB, Serial Port and Hid devices. It aims to make device communication...
Source Link allows you to publish debuggable NuGet packages. Source Link adds debug symbols to compiled code that point back to your Git repository. That...
.NET Standard is a .NET formal specification or API contract that is available across many .NET implementations. It exists because there are many .NET implementations on...
The Observer Pattern is at the core of reactive programming, and observables come in two flavors: hot and cold. This is not explicit when you...
F# is a functional programming language that compiles to .NET Intermediate Language (IL). C# is becoming a more functional programming language. The latest version of...
Flutter is an emerging UI technology by Google. Flutnet brings Flutter and .NET together. It allows you to create a Flutter UI with .NET logic....
The Null Object Pattern is a pattern that uses objects with null behavior instead of performing null checks throughout the codebase. ILogger and ILoggerFactory are...
The INotifyPropertyChanged changed interface is at the heart of XAML apps and has been a part of the .NET ecosystem since the early days of...
Breaking your solutions up into manageable chunks (libraries) is one of the most important aspects of code maintainability. This article is .NET centric, but the...
Computers are expensive, and you may need to buy a Mac and a PC as a mobile developer. As a mobile developer, you will spend...
You can move Uno Platform pages and other code into a multi-targeted library that you can reference from the Uno Platform head projects. This is...
The first Uno Platform Course is live! Over the last few months, I’ve been busily preparing material and editing video for the first Uno Platform...
Entity Framework Core (EF) converts expressions into SQL at runtime. In earlier versions, it was straight forward to get the SQL. In Entity Framework Core...
Blazor is a new Single Page Application (SPA) technology by Microsoft. It is a comparable technology to React, Angular, and Vue.js but uses C# instead...
ILogger is at the heart of the ASP.NET Core infrastructure and works well when you use it correctly. If you approach it the wrong way,...
The options for building cross-platform phone, desktop, and web-apps with C# are expanding. I previously wrote about Uno Platform, Xamarin.Forms, and Avalonia UI. The recent Microsoft Build...
RestClient.Net is a cross-platform rest-client for .NET Core, .NET Framework, iOS, Android, WASM and UWP. It puts a wrapper over the .NET HttpClient API and allows...
Blazor is a new Microsoft technology that allows developers to write code for browsers in C#. This article compares Blazor to three other common SPA...
Developers are usually encouraged to do dependency injection with interfaces. Some developers don’t know that they can do dependency injection with delegates, and there are...
If you’re reading this, you’re probably a development lead or someone else in charge of interviewing or hiring development staff. This article is based on...
Blazor is Microsoft’s latest Single Page Application (SPA) framework, which is C# based and renders to the browser HTML DOM. Blazor comes in two flavors:...
Signing an assembly ensures that the consumer knows its origin and uniquely identifies the component. It makes the physical DLL file tamper-proof. This tutorial will...
The System.Text.Json namespace provides high-performance, low-allocating, and standards-compliant capabilities to process JavaScript Object Notation (JSON), which includes serializing objects to JSON text and deserializing JSON...
Using Google Protocol Buffers (protobuf) for serialization over a Web API (or REST API) is simple. Most developers use JSON as the go-to transfer protocol for...
Every system needs a framework. The main hubs that a framework should cover are UI/UX, database, and logic. These are the indispensable parts of the...
Improving a codebase can be a difficult task. The larger the codebase, the more difficult it becomes to find and fix poor code manually. When...
There are various ways connected devices communicate with your computer. One of the oldest ways is via the Serial Port. In some ways, serial port access...
Device.Net 3.0 has been released. Device.Net is a framework for communicating with connected devices. Along with Device.Net Usb.Net, and Hid.Net 3.0 were also released. These...
RestClient.Net is a simple wrapper for HttpClient. It adds strong typing to REST calls and speeds up writing basic Http Request/Response operations. WebAssembly (Wasm) is...
An app should throw exceptions when something exceptional happens. However, developers should design apps and APIs so that under regular use, exceptions do not occur. Exceptions...
xUnit has a quirky system for consuming test data. Strongly typed test data can be specified with the MemberData attribute and the Theory attribute but...
WebAssembly may be the most exciting technology for C# developers to emerge in recent times. Browser based applications have been developed in JavaScript, or languages...
The term “anti-pattern” is a derogatory term used to disparage software design approaches that a given developer or group of developers may not like. The...
gRPC is a modern open source RPC framework created by Google. It is based on Google’s modern Protocol Buffer serialization engine but is not tied...
Several UI technologies can be used to build Cross-Platform apps in C# or other .NET based languages such as Visual Basic (VB). This article looks...
There are some difficulties with versioning APIs. One such difficulty is dealing with mandatory columns. If a back-end API upgrade is taking place, and we...
This article is part of a larger series that I am writing on App Store Deployment, but this is not limited to App Store Deployment....
App Stores are a great advancement in Software Deployment. They offer something like the Zero Footprint model while still allowing the application to have access...
This follows on from my article about App Store Deployment. Here I am going to offer a strategy for dealing with App Store Deployment where...
Edit: There is a new article that replaces these two articles and uses the more modern editor config format. These two articles are still useful...
Edit: There is a new article that replaces these two articles and uses the more modern editor config format. These two articles are still useful...
Delving in to the world of crypto hardwarewallets has led me deep in to the rabbit hole of USB and Hid programming. I didn’t want...
Edit: this library has undergone multiple iterations since this early blog post. It is no longer in beta, and has been moved to GitHub. Check...