web app development questions - getting started

3571
4
09-14-2015 02:57 AM
TonyJoseph
New Contributor II

Questions for those with good ESRI JS web development experience:

1. JS build systems - grunt or gulp?

2. is bootstrap still the best frontend page dev for multiple devices ?

3. Sass or Less??

4. framework - backbone, angular, react or ember??  

5. need for dependency management (i.e. browserify)??

6. why node.js?

7. mongoDB vs MySQL?

8. best IDE for all the above javascript web development?

9. can I use ESRI Javascript API and build apps and analysis for free??

Thanks so much for your guidance and sharing.

0 Kudos
4 Replies
RebeccaStrauch__GISP
MVP Emeritus

Tony,  I can't answer all you questions, but wanted to make sure you know about the Web AppBuilder developer edition.   This I built with JS, and has a strong user community that have developed many custom widgets and are willing to help if you create some yourself.  Web AppBuilder Custom Widgets​ is the forum for that.

To learn more about WAB and to download  Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers

and I have a couple blog posting to help you get started  Web AppBuilder Developer Edition - Customization Resource List  and  Tips and Observations for getting Web AppBuilder -  Developer Edition Installed   You mentioned in another post that you will be using an ArcGIS Online basemap, which WAB is happiest with, but using the LocalLayer widget (custom, link included on resource list) you can also use you ArcGIS Server services if you like, for operational layers.

WAB Developer's edition is free, but relies on an AGOL  (or locally installed Portal) account, preferably an enterprise version, which you would have with ArcGIS Server, although you can also get a personal account for testing.

re: IDEs, there are many. I like Brackets - A modern, open source code editor that understands web design.   but also use NotePad++  and others like SublimeText    All have addons to make syntax editing and formatting easier.

.nodejs is required for that, and others like   Robert Scheitlin, GISP  can explain it better....if he hasn't already as I'm typing this.

Edit: my apologies, I thought I read in your other post that you had ArcGIS Server...but now don't see it (That was the forum it was posted in, that is why I assumed). I'll leave the info posted here, but some of the info re: AGS and Portal enterprise may not apply.  if only using a free AGOL license, some restrictions may apply, but if all things are public, it "might" all work?

ReneRubalcava
Frequent Contributor

1. Grunt or Gulp? - Pick your poison. There's grunt-dojo to get a full dojo build. Gulp doesn't have a similar plugin, but you can use it to run the command line node tools.

2. Bootstrap is fine, there's Foundation, Pure, Material, and more. It's really whatever is going to work best for you.

3. CSS Preprocessor is again, just a choice. No preferred method. I like Stylus and Dojo2 is using Stylus.

4. EsriJS is built on Dojo, but can work with  Backbone, Angular, React or Ember. Again, this is personal preference.

5. EsriJS API is AMD, no browserify.

6. Node for build tools and dev environment.

7. What are you trying to do? NoSQL can serve a purpose, but once you find yourself doing client-side joins you'll probably wish you'd gone relational.

8. Personal preference, I'm a vim guy, but have been using Visual Studio Code for TypeScript work.

9. Yes, API is free, you'd only pay if you want premium ArcGIS online content.

I wrote just last week about tooling for your ArcGIS JS Apps and development tools for ArcGIS API for JavaScript. You might find those helpful.

TonyJoseph
New Contributor II

Thanks for the replies. Sorry but I do need a bit more clarification:

1. Dojo vs Bootstrap for frontend dev - after dabbling I notice the development with bootstrap much faster, better documentation  and caters for various devices display better (from an overall web application perspective, not just for a web map app). Dojo has many widgets with great custom tools (like graphs, info boxes) that helps with the overall web map app) but doesn't really work with overall web application ... incl frameworks and web applications like Angular ... that well (unlike Bootstrap). Am just trying to quickly dev a web app (incl data with XY or geocoding attributes) with an embedded map app (with some basic GIS functions).

2. Can I map, grid, annotate, classify and geocode points on a JS web map app without having to purchase ArcGIS Server (using free ArcGIS Online webservices and free ESRI JS API)??  If I have a JS web map app built with basic global layers ... what are the free GIS analysis and geoprocessing tools I can consume and use (i.e. read from a table with XY or address column and map it)?

Much appreciate any feedback and advice. Am trying to avoid issues later on in the development stage.

0 Kudos
JasonHine
Esri Contributor

Hi Tony,

To help answer your 2nd follow-up question, you can batch geocode a list of addresses using the Locator class and the World Geocoding Service. As a developer, you can leverage a free ArcGIS for Developers account, which includes enough credits to batch geocode about 1200 addresses in a given month. The ArcGIS for Developers account is intended to give you the ability to develop and test solutions that access premium Esri content and services; when you're ready to deploy, you can figure any expected credit consumption into the pricing model for your app.

0 Kudos