In our industry there are conversations (arguments, really) that probably aren’t very fruitful. Some of these can include: Tabs vs Spaces Squash merge vs no squash merge git branching strategy var or not to var Constructor injection vs dependency injection Database change control – deltas vs schema I’m kicking off a series where we look…
Read more…
Our Software Design and Development Clinics focus on teaching engineers the real-world development skills that will make them more productive and effective. Part of the class is Doug and I covering several topics, but we try to have a real focus on actually doing things. We want students to develop skill and knowledge, which takes…
Read more…
In my previous post, we did things that really didn’t utilize any device features. In this post, we are going to use two native device features: email and phone. Let’s get started by installing the email plugin. ionic cordova plugin add cordova-plugin-email-composer
npm install –save @ionic-native/email-composer Using this plugin can be a little tricky. We have…
Read more…
On January 24th, Doug spoke at our Vogon Poetry Reading about Azure Service Fabric. This technology is something that we are very bullish on as the future of hosting. Why do we like “the Fabric”? The programming model closer mimics how we currently write software. Reliability / scalability is basically baked into the fabric. Azure…
Read more…
In my first Ionic blog post, we just got started creating a simple app using Ionic. In this post, we are going to create a simple application that is a basic contact manager. To speed this along, we are going to build off of what we started in part 1. The first change is ironically…
Read more…
There are many strategies to building mobile applications. Some people prefer to go the 100% native route, writing their applications in Swift / Java. Others like to use Xamarin and write one application in C#. There are yet still some that just write a single website that works well in mobile. In this article, we…
Read more…
In this five-part series, I’m covering each design principle laid out in SOLID. In this final post, I am covering the dependency inversion principle. The “D” in SOLID is a pretty well understood principle. It is supported by a variety of platforms, including Angular. The code below shows how it is implemented using Angular. The…
Read more…
In this five-part series, I’m covering each design principle laid out in SOLID. In this post, I am covering the Interface segregation principle. The “I” in SOLID is a principle that is easy to skip over. Everyone will always remember the “S”, because it is first. The “L” is easy to remember because it is…
Read more…
In this five-part series, I’m covering each design principle laid out in SOLID. In this post, I am covering the Liskov substitution principle. Now is when things get interesting: program to an interface that can be implemented by many services. The Liskov substitution principle (LSP), created by Barbara Liskov, says we can substitute one service…
Read more…
In this five-part series, I’m covering each design principle laid out in SOLID. In this post, I am covering the Open / Closed principle. The Open / Closed principle is hardest to argue for. In our SOA (service-oriented architecture) world, we try to avoid using inheritance as a method to change behaviors. We would tend…
Read more…