Archive | November, 2014

ESRI JavaScript API and DOJO – I Hate You.

8 Nov

I am by no means a JavaScript expert and herein may be my problem, but I will rant anyway – if I am wrong, feel free to explain why or just troll me (I will approve your comment).

I hate the ESRI JavaScript API and I have finally figured out why – I do not like Dojo. I may be the old man yelling “get off my lawn!” but I like simplicity. I am not the only one. So does Vladimir Agafonkin – check out his talk at FOSS4G “How Simplicity Will Save GIS.” Vladimir is the creator of Leaflet.js. I love Leaflet. It is simple, but it can do complicated things. There are several plugins listed on the Leaflet website and you can always write your own.

The ESRI JavaScript API does not feel simple (their Leaflet.js plugin is. That’s right. They have a plugin for Leaflet too, so why Dojo?). Maybe it is just my lack of knowledge in Dojo and I am going through the 7 Stages of Learning Dojo. I refuse to learn Dojo. Not because there is anything wrong with Dojo, but because I think ESRI chose it for all the wrong reasons.

I think ESRI always goes down the wrong road and for the wrong reasons. When ESRI decided to get a “modern” web platform, what did they do? They released Silverlight and Flex APIs. Maybe you like them, I do not. Just like Dojo, it is not the technology I have an issue with but rather my issue is with why I think ESRI chose them.

Why Did ESRI Choose Silverlight, Flex and Dojo?

They wanted it to look pretty and have a bunch of widgets already built.

Therein lies the reason for my hatred of all three of those ESRI APIs. They did it for looks – bells and whistles – first and foremost. You don’t have to build everyhting, just provide the framework for users to do so. Leaflet has a way to create user controls: var MyControl = L.Control.extend …

It always seems like ESRI is in a hurry to put something out. I am almost surprised they didn’t just use GeoEXT.js. I mean, you can move a frame around the screen!

I will continue to use ESRI applications on a daily basis. I will also use Leaflet and the ESRI Plugin – I actually use Leaflet Vector Layers plugin more. I will not use the JavaScript API and I will not learn Dojo (at least anytime soon).

I will end the post on a positive note – I have read that ArcObjects is dead and in ArcGIS Pro, the .NET coding is much simpler. I found ArcGIS Desktop Explorer to have an easier API than ArcMap so if it is anything like that, I will be a happy camper.

Here is to ESRI abandoning Python, JavaScript and .NET and making us all program in Go.



An Early New Years Resolution

8 Nov

I started this blog at the end of 2010 because I had a few things I wanted to share. I didn’t blog with gusto, but posts trickled out. Over the years, the frequency in which I blogged improved but I was never consistent – three posts a week would be followed by a post in three months. Recently, I started just posting code with an extremely brief introduction. I think I felt the need to post something, and I have been working on some fun and interesting things, but  I lacked the motivation – and time – required to do the topics justice. I will say that I wrote a book – get it on The book, while taking all of my free time, was exactly what IO needed to re-motivate me.

While I will still post code, I hope to expand the blog back to what I intended it to be – a place for me to share whatever I am thinking or working on with you. And when I post code, hopefully I will provide more context and explanation.

–To starting new again.