HQ Rock!
- V8 is a huge achievement
- There is never enough time
- People in glass houses...
- But its good to be improving
- "Positive thinking" can only get you so far
- What do I know?
V8 launched
- Too soon?
- If only I believed in it hard enough...
- Got to be released sometime
- We've crossed the "Event Horizon"
Why too early?
- Worked on right up to the wire
- Where are the docs?
- Whats changed?
- Call that a FAQ page?
- Where are the packages?
- Missed Opportunities...
Missed opportunities?
- API's now can't be changed
- Package developers only want to upgrade once
- AngularJS upgrade in name only
- No frontend tests
- Actually theres 150 for "blue prints"
Yet it has to be released at some point
- The difficult "second" album
- Time to bed in before Code Garden
- Focus on other business
- Its the future so lets make it work
Doing OUR bit to make it better
- Dig into the stuff HQ can't do
- Document the bits they haven't
- Highlight the areas that need work
- Suggest how those areas could be improved
- Start working on them
- If you can submit a Pull Request
Package development
- Its a lot of work
- UI can change breaking our hacks
- Lack of front end UI tests means anything can change - theres no contract
- No way to store config built in
- Need more support on what should be included
Automated testing of the frontend
- Started it!
- Community effort needed
- Trapped by the UI
- Trapped by the AngularJS upgrade
- Trapped by the Event Horizon
- I blame Brexit
Optimising the back office
- Speed for everyone!
- Reducing JS is best way to it
- Less code to download
- Less code to parse and run
- Refactoring to AngularJS 1.7 goodies helps
- Can we use ES6?
Javascript compression revisited
- ClientDependency does ok
- Can modern stuff do better?
AngularJS v1.7 goodies
- Inline templates
- Switch to using components
- No separate controller file
- Load components when needed?
- Reduce "scope" leaking
- All results in less code!
We can use ES6!
- V8 browser support has changed
- Build chain already uses Babel
- Added ruleset to target those browsers only
- ES6 again removes a lot of boiler plate code
The AngularJS code base is...funky
- Bloated namespaces
- Hard to find anything
- Which template to edit?
- Where to add a new component?
- Which controller does what?
- What events are available?
Why bother?
- Its already working?
- A better environment for all
- Easier bug fixes and PR's
- Components get us close to the future
- Better performance for all
- Who else is going to?
- I've learnt a tonne!
I hope you've been inspired!
@peteduncanson
@offroadcode
https://ubenchmarks.offroadcode.com
offroadcode.com