Description
Hello everyone, i would like to start discussion about support list of browsers and supporting features (and their adoption on M2 codebase) in front-end prospective for GA release.
Due to major problem of adopting new features is always was IE (historically that occurs like that) we were not been able to adopt in spread basis, it most of the time depends on requirements of clients/agencies, but since Microsoft announces theirs plans to support only latest version of browser in order to be up to date and open for developers community, we can adopt new things for M2 GA release (it is because if will be just 3 month off from MS will drop support of current version in flavour of latest).
So i would like to propose you to adopt following techs (as a basis to be consistent with modern requirements of industry).
List of need features (as per my opinion) looking like this:
- Modern use of picture management. Like for example creating an model for manipulating images in platform wise use of
element with scrset attribute in order to be perfectly rendered in all platforms (for raster images) with adoption it for all types of images (to be able to manipulate it with declarative way, for example in theme layouts, can be discussed), with fallback for non-supporting or non-standard support of those (like for example using this polyfill) - Use of vector based techniques (for images that differ from manipulation from backend management) as standard base (with possibility to utilise many ways how to adopt them)
- Make component based structure, which will not be only for stylesheets but for structure of HTML and JS as well (like BEM, or SMACSS techniques). This will give us possibility to adopt ether micro-formats/RDFa or (more preferred one) Schema.org rich snippets which will definitely increase conversion for end customer, and will give us flexibility to re-use components across platform without worrying of something will be broken, since component will be atomic (with minimum tightness per components as it possible). Additionally this will increase in flexibility to achieve more control over responsiveness of components.
- Creating of components (composite ones) will give us possibility to make (for example) custom elements like select boxes and input masks (there are many of scenarios) be just plug-and-play`able without worrying about structure of HTML and work of JS
- Adoption of extended front-end validation by browser (since it is more performant then JS one, but yes, it gives less flexibility that can be extended rather be implemented from scratch via JS)
- Discuss some way to be technology agnostic (for front-end prospective), to be able for example not to tight with RequireJS or jQuery widgets (i do not argue about that but at least to try to discuss)
- Front-end caching strategies
etc..
This list can be extended during discussion, but from my stand point we need to adopt those things (or at least some of them), since during of GA release we can be in that spot when technologies that will be used in M2 can be already obsolete in terms of modern requirements of web apps.
I do raised this issue due to want to know, is effort is required or not, since there is more than just effort need from community and M2 core team to achieve that, due to many changes needs to be done in codebase to achieve that.
What do you think about that M2 community?