Dojo (1) is clearly at end of life, or 5 years past end of life relative to more modern single page application (SPA) frameworks. I've heard comments that came back from the Developer conference indicating that ESRI is planning to move to DoJo2 which has been under development for 5 years and is mostly in beta at this point. Does anyone know if this Is true, and if so, what the timelines are for the move? Are there plans to rebuild WebAppDeveloper on the DoJo2 framework, as well as the widget set and what will the strategy be for those jumping into the toolset built on the current version of DoJo with respect to migrating applications onto the new toolset? Will both versions of developer applications be maintained, improved and extended going forward from whatever that date is. (I realize DoJo2 is not at general availability yet, but more interested in knowing Esri's plans and when my application will be orphaned if they do go that way.)
I was at the Dev Summit and have talked with many of the JS API team and Dojo2 is not going to use in 4.x or 3.x. If it were to be used it would be in 5.x. Dojo 1 is still going strong and is not at the end of it's life. As far aw WAB it will use what ever requirements that the JS API has.
Thanks, that helps although I'm not aware of the timing of 5.x (summer? fall? Q1-2018?...) and it would still be very useful to know what ESRI's strategy is with respect to migration and support of the old (current) toolset.
Dojo is certainly past it's prime and there are much better web application framework options out there (Angular, Angular2, React for example) that increase development productivity. DoJo2 will get us a lot closer to those, so the sooner, the better although that brings up the obvious question about the migration of applications currently under development - do we need to consider the refactoring patterns that the DoJo2 team is recommending to smooth the transition, whenever that may be?
There is no projected timeline for 5.x. 4.x really just started. The comment about 5.x was basically an indication that even 4.x was going to maintain the dependency on dojo 1.
Now your comment
Dojo is certainly past it's prime and there are much better web application framework options out there (Angular, Angular2, React for example) that increase development productivity.
is based purely on personal preference. Dojo 1 is still the platform for enterprise JS development, due to it internationalization and dgrid and other features (personal preference as well). Dojo 2 is still not at a point where it could be considered ready for use with esri JS API.
I am not sure what features you are worried about missing in these other libraries that can not be done in the Dojo 1.x and the JS API.
Not meaning to get into a framework holy war here. 😉 If you look at what they're trying to do with DoJo2, that'll give you an indication of some of the areas where DoJo falls short and much of the industry has progressed. Web components, shadow DOM, Routing and State Management, Transpiling, Separation of Concerns (client mvc) rather than direct DOM manipulation, TypeScript, Custom Tags (Directives, now Components).... I guess you call those personal preferences but a lot has happened in last 10 years that can't be nailed on to an existing toolkit.
Thanks for the feedback regarding DoJo2 and sdk 5.x. Some good news and some bad I guess.
As for the original question "Is ESRI moving to Dojo2 and if so, what is timeframe and migration strategy?"
- It's not a decision we've made yet. We will first wait for Dojo2 (and all different subparts that we use) to be released, and ready to use in enterprise apps/APIs. Moving to Dojo2 is likely to mean breaking changes, and I don't think it's anything we would do in the JSAPI 4.x timeframe. (And there's no plans for a 5.x yet).
I also want to point out that even though JSAPI 4x is using Dojo for certain things, there's plenty of JSAPI web developers using the JSAPI together with other frameworks such as Angular, Ember, React etc (including some teams at Esri). See "Using Frameworks".
There were really 2 aspects that impacted my decision. The first was whether the current framework, DoJo based, would give me high development productivity, given that I could exploit some of the existing widgets and code. The second was the future-proofing and how long it would be until ESRI moved to a new framework that would leave any DoJo apps kindof orphaned, because as you say, DoJo2 would cause breaking changes as it has a much more opinionated framework.
I got some erroneous info about DoJo2 being imminent which gave me concern about the issue 2 of future-proofing but Robert (and you) have reassured me that it's not anytime soon if at all.
Regarding issue 1, I've gone ahead with Angular2 and found Angular2 + JSAPI provides a very productive environment. The API is at a high enough level that I can quickly develop map and layer functionality. The bonus is that I'm decoupled from ESRI's implementation of the API and I can migrate to newer versions without breaking (exception: quirky name changes like map to Map) - the strategy is to avoid using visual UI elements as they have the potential to cause issues with Angular's rendering/binding framework bits. But I still have been able to load the Legend dijit into Angular and can plug it in just fine, so if there are widgets that exactly meet my needs I can probably integrate them.
Thanks for following up on this issue.