Skip to content

Instantly share code, notes, and snippets.

Telerik AppBuilder Alternatives

Telerik AppBuilder is being retired on 10th May, 2018. It was an easy way to compile Cordova apps for iOS and Android packages without a Mac OS machine. With the Visual Studio plugin, AppBuilder provided a low-friction way to build cross-platform apps. A new platform is required to continue creating these apps due to the impending retirement. We need a tool that allows developers to initiate a build on a windows machine and receive an iOS package in return.

Convert to Cordova

Telerik AppBuilder based on Cordova, the first step to moving away from AppBuilder will be converting the project into a Cordova project. There will be minimal work to move plugins and platforms over, although Cordova is strict with the directory structure. This initial pain will make it easier moving forwa

@glenhallworthreadify
glenhallworthreadify / Retrieving Esri ArcGIS Maps Token in Dotnet Core.md
Last active April 9, 2019 17:52
Retrieving Esri/ArcGIS Maps Token in Dotnet Core

Retrieving Esri/ArcGIS Maps Token in Dotnet Core

Esri has a premium service which requires adding a token to REST API requests for services like batch geocoding. The service has a few gotchas. The sample code is:

    public class EsriTokenResponse
    {
        [JsonProperty(PropertyName = "access_token")]
        public string AccessToken { get; set; }
        [JsonProperty(PropertyName = "expires_in")]
@glenhallworthreadify
glenhallworthreadify / Dotnet Core Templates To Hit The Ground Running.md
Last active November 17, 2017 04:16
Dotnet Core Templates To Hit The Ground Running

The problem with starting a new project is there is a lot of boilerplate work to get started. You need to setup project structure, source control, build and release pipelines, dependency injection and logging before you write a line of business code. Dotnet Core 2.0 supports custom templates meaningless boilerplate code to hit the ground running.

To test creating custom templates I built one for a common app type - C# Web API backend for a single page application. It can be found https://github.com/glenhallworth/WebApiWithSpa. I've made it generic including several libraries setup how I like and have left the flexible pieces to be added; such as authentication.

The templates are distributed using NuGet so it's incredibly easy to use. To get the above template up and running its just two commands:

  1. Install the template from NuGet: dotnet new -i WebApiWithSpa.Template.CSharp
  2. Create the project: dotnet new WebApiWithSpa

There is not much to the template, the above template only has three parts to it.

const puppeteer = require('puppeteer');
const nodemailer = require('nodemailer');
class Webpage {
static async generatePDF(url) {
const browser = await puppeteer.launch({ headless: true }); // Puppeteer can only generate pdf in headless mode.
const page = await browser.newPage();
await page.goto(url, { waitUntil: 'networkidle', networkIdleTimeout: 5000 }); // Adjust network idle as required.
const pdfConfig = {
format: 'A4',
const puppeteer = require('puppeteer');
class Webpage {
static async generatePDF(url) {
const browser = await puppeteer.launch({ headless: true }); // Puppeteer can only generate pdf in headless mode.
const page = await browser.newPage();
await page.goto(url, { waitUntil: 'networkidle', networkIdleTimeout: 5000 }); // Adjust network idle as required.
const pdfConfig = {
path: 'url.pdf', // Saves pdf to disk.
format: 'A4',