Friday, August 9, 2019

I saw John Baluka speak on nopCommerce on Tuesday night.

This was a monthly meeting of a Seattle, Washington .NET User Group called ".NET Developers Association – Westside" and Parametric was the host. Parametric does software for managing investments and is located in one of the skyscrapers in Seattle. nopCommerce (nop rhymes with cop and is not no op) is basically just some open source .NET application that you may pull from GitHub or even Subversion somehow and customize/reskin and then use as your own for your storefront. You have to pay a thousand dollar fee to remove the "Powered by nopCommerce" logo so most people just leave it there. Otherwise there is no fee to pay to use it. Andrei Mazulnitsyn the creator makes his money in selling nopCommerce-favored consulting in a business model much akin to the one Udi Dahan used to run before NServiceBus stopped being free and John Baluka for that matter does the same thing only he is based in St. Louis and courts American clientele while Andrei and his team are in Russia. nopCommerce is a rival really to Shopify, Salesforce's own solutions for eCommerce, Magneto, WooCommerce for WordPress, and also, amongst others, two other open source .NET solutions in the space, one of them being smartstore.net which is a fork of nopCommerce and the other being VirtoCommerce which uses Elasticsearch under the covers and AngularJS at the front end. You may use Visual Studio Dev Essentials (a lighter version of the Visual Studio IDE) to work on nopCommerce. nopCommerce uses Autofac for the dependency injection variant of inversion of control. There is a DependencyRegistrar.cs file in one of the projects that has all of the wire-ups and the app will not compile if a dependency is missing. We didn't dig too deep into how the plugins work, but apparently you may loop in a plugin without recompiling the code base! There is a marketplace for plugins. Nop-Templates is a company that offers a plugin that exposes a ReST API for doing various things with nopCommerce. I guess you could use this to put an Angular or React frontend atop the app in lieu of using the default Razor stuff. The default Razor stuff is responsive (mobile-friendly). nopCommerce has had a long life and didn't start out as of MVC in .NET Core but it is there now. The first time you run nopCommerce you get a little form wherein you punch in stuff like what the database is and where it is at, how to get at it. Entity Framework is used under the hood and there is some infrastructure to make it eventually swappable with a different technology. Nothing gets truly deleted in the nopCommerce system and instead a flag is set at a database column to denote a pseudodeletion. AutoMapper is in the mix. The unit tests are in NUnit and you need the NUnit Test Adapter to work with this stuff. Other things mentioned in this talk included Flutter which is something like Kotlin for the Go stack in the mobile space. IBM i is an operating system that runs IBM gunk. Interop is short for interoperability or interoperable and it is characteristic of exposing interfaces for outside actors to interact with in the name of ease of cross talking to the thing in question. TestStack is something like Selenium for testing WinForms and WPF and both things fall under the umbrella of functional testing as opposed to integration testing or unit testing. BuiltWith.com will let you type in a technology like nopCommerce and it can tell you what the rivals are in the space. Moreover, if you just punch in a website's URL it will tell you, as best as it can gauge, what technologies were used in making the site. Your Pluralsight profile has a public facing URL and you may just hand this to someone you are interviewing with in the name of answering the "What do you do to keep up with industry trends?" interview question as the URL will reveal all of the Pluralsight trainings you have watched. BizSpark, as a program, used to let you buy three years of an MSDN (Microsoft Developer Network) license. John is working on a POC (proof of concept) for nopBlazor which is going to be a Blazor-with-nopCommerce solution as the name implies.

No comments:

Post a Comment