Logo preload
close Logo

Are The Web and Geo Industries Merging?

March 25, 2016

Speaking at conferences is a great way to think about what you know in your industry and how you can share that information. A couple weeks ago, I was invited to speak at O’Reilly Fluent Conference in San Francisco, where I talked about web map libraries and emerging GIS technologies. Here are some few discoveries and thoughts I had about the experience.

A little bit about the conference: The annual Fluent conference aims to bring together developers that focus on Javascript and JS frameworks, as well as designers that work with CSS, HTML and SVGs. It appeals to both front-end and back-end developers.

Why is it useful to focus on Javascript, CSS, and HTML? Well… Javascript holds the top spot for popularity on GitHub, as well as StackOverflow questions:

Github language popularity

JavaScript (/ˈdʒɑːvɑːˌskrɪpt/; JS)is a dynamic programming language. It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed. (Wikipedia 2016)

Most websites these days use Javascript. Javascript is the only language that runs in all of the browsers by default (and this is not going to be replaced anytime soon). From the Obama healthcare site to your personal blog, JavaScript is the only client-side browser language available on all browsers and so we will have for a while.

The world of Javascript is quite exciting – and messy (aka recent drama occurring with NPM, but it is gaining investment and developers. It will be with us for a while.

Learning react

The Hot Topic: React.js

The most popular topic at Fluent was the new MV framework, React.js. This framework is maturing and so more developers are intrigued by this new way of compiling and writing HTML and Javascript. React was built and is maintained by a core team at Facebook. As indicated by its name, React is making a statement about the way that Javascript and HTML can be rendered in the Window DOM (aka your browser). React has three core concepts that make it a unique framework:

  1. JSX: A preprocessor step that adds XML syntax to JavaScript. XML still exists! And here we thought that this syntax died with the mass conversion to JSON, XML is still alive and kicking. JSX is not required in React but it adds a sense of elegancy to compiling. React puts “HTML” in your JS, while other frameworks (Angular, Ember and Knockout) put “JS” in your HTML. The big thing about JSX is that it runs faster than Javascript in the browser. Cory House wrote a great post about JSX here.
  2. Virtual DOM: Updating the DOM expensive– meaning it takes time and money (all those servers) to refresh content when it gets changed. React takes a different approach and uses diff-like actions for refreshing the DOM. Instead of reloading a whole table on a page, React compares the current table with the new table and adds the difference. Comparing the current state with new state, updates the DOM more efficiently and delivers exceptional performance increases.
  3. Unidirectional Data Flow: This gets to the direction of actions and triggers. Unlike most Model-View-Controller (MVC) frameworks, data flows throughout your app in a single direction and you have better control over it.

React and Maps (and Data Filtering)?

Why should you care about this? Well, React is a great option for making custom data dashboards with Fulcrum data. With our new SQL API that we have in the works, the barrier for filtering, managing and querying data will be simpler.

If you think that this framework is something you would like to dive into, here is a great list of resources and here is a repo to get started on some react-leaflet integration. Have fun!

Thoughts

There are increasingly more parallels between the geospatial and web technology industry. Browsers and data collection are pushing towards offline, integrated, client-side and automated. Mapping tools and platforms are no longer isolated desktop software, but are in the cloud, subscription-based, integrated (through APIs) Software as a Service (SaaS). Web maps merge with the gaming industry (WebGL) and vector tiles.

In modern business, we are entering an artificially intelligent world led by data-driven decisions. Companies need to be taking steps to digitize their workflows or they will be left behind rapidly. Using iPads and iPhones for basic field data collection is a great start to get the industries behind up to speed.

In Conclusion

Attending technology conferences is important for professional development and keeping up-to-date with where the web is moving. Web technologies change fast and this conference allowed me to feel more updated on what is going on in the Javascript world and in the browser. It gave me time to think about what tools are useful to learn to improve the solutions we provide to customers.