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?
Thanks so much for your guidance and sharing.
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?
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.
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.
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.
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.