--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
To post to this group, send email to silverst...@googlegroups.com.
Visit this group at https://groups.google.com/group/silverstripe-dev.
For more options, visit https://groups.google.com/d/optout.
With all these proposed changes to the cms, has there been any thought (with the future in mind) of supporting mobile devices/tablets?
I fully understand the complications this brings, as well as the limitations it sets, but with this idea of literally rebuilding the entire cms it seems like a good time to seriously look at the options.
I feel that it is the elephant in the room that developers tend to ignore. Maybe this is maybe the wrong thread?
Regards,
Ralph
--
I would still like to consult the guys implementing the React stuff to see how big of an impact this decision will make on them but I'm thinking we either take a slight hit with Bootstrap 4 or go with the safer option Foundation 6. There are ways to integrate things like BEM into the CSS structure but would require a bit more documentation, it could work to our advantage knowing what is custom to the CMS (using BEM) and what is default framework.
Hey guys, I've written up a bit of an summary of our thoughts, with the following proposal...
With SilverStripe 4 on the horizon we have begun early stage planning and development. As the CSS and HTML hasn’t been a main focus of past releases we have been thinking about about ways we can increase the quality and flexibility of the CMS to its users and developers. The CMS needs to be flexible enough to take on new directions, new features and be pliable to a whole heap of new ways of presenting information and user flows.
As we have limited time to craft our own tailored front-end framework we have decided on using a front-end framework. We hope that this will jumpstart the development process somewhat and provide a solid base and guidance for the SilverStripe community, their contributions, and allow easier customisation of the CMS and modules.
We feel that the integration of a framework will be a long-term commitment, and we want something that will be able to last at least the next few years without a major upgrade or a dying community base.
Why we chose to use a front-end framework?
Plug in and play—you don’t need to be an expert to use them, with some basic HTML/CSS knowledge and well documented examples you can build some pretty amazing things.
Minimizes the time and effort—we can spend more time on making the user experience better, and spend more time on developing features which really matter.
There is already documentation written to help our community write code in a consistent way. The developer community will be able to build modules which have a consistent codebase with the framework/cms and have the advantage of pre-built components which are ready to use and adapt.
Because of the popularity that ready-to-use frameworks have, you can rely on help from the community in the form of articles, tutorials, and framework add-ons and extensions.
Stable and well-tested code—because there is a lot of people already using this code in production you can be sure that the majority of bugs are already known about and there are probably workarounds that have been shared. This means that your website will look and behave properly on all browsers that the framework supports.
We get regular updates with bug fixes and new features for the framework.
Which Frameworks have been considered?
We considered many frameworks both big and small, we could have used a small framework as a base and spent time building it out to get to the point where we have a tailored solution but unfortunately we felt that there is a good chance we won't have the time or resources that this type of solution needs to be done well.
We have looked at many frameworks including and not limited to: Bootstrap, Foundation, Foundation-apps, Semantic-UI, Pure, Skeleton, Bourbon, Element-UI… and a multitude of others.
What are we looking for?
Our CMS must work with IE9 for at least the next major release cycle. Although it would be good if there was an easy migration path to flexbox for future releases of the framework.
Good documentation.
We have a preference of a framework which is ready to use in SCSS.
Popularity—a solid community base which won’t suddenly disappear and big enough so that people will have guidance when creating modules or new elements.
Variety of functionality but at the same time we need to consider framework file size.
A component based structure so we can easily and gradually integrate them with React when needed to improve the overall experience. (if there are already pre-built React components available then even better).
A suitable license that can be easily shared and allow adaption.
The main contenders
- Oldish, could need updating sooner than we would like
- Bloated compared to other options
Bootstrap 4
+ Hot off the press code (still being pressed)
+ Biggest community base and the most resources typically
- Still in Alpha which might cause us some headaches if things change in parallel as we develop (there is no date as yet as to when this might be stable or BETA that I have seen).
note: React-Bootstrap doesn't work with Bootstrap 4 yet
Foundation 6
+ This is a recent release (Nov 2015)
+ Stable
- Harder to customise the javascript for React
note: Foundation also has a framework for specifically for Web Apps (2014) which looks decent but only uses flexbox and uses Angular, although there is a React components version
We are proposing… Bootstrap 4!
After reviewing the many options out there we are proposing to use the latest version of Bootstrap which is currently in development. This decision hasn’t been an easy one as there there have been plenty of great options out there. This version of Bootstrap still has a fair bit of work needed before it is stable but it does fulfil a lot of the requirements mentioned above. We are conscious that there will be teething issues to some degree as things can change over the following months but at the same time we don’t need the full framework to be perfect just yet.
Once this framework is integrated into the CMS it should be good for a few years at least and the SilverStripe community will have a larger thriving community to feed off. One major benefit with Bootstrap is that as part of version 3 there is a great example of how React components can be used with the framework. We aim to leverage this knowledge to support the development of our own custom React components when they are needed. There are a multitude of options available for advanced components like date pickers, advanced select dropdowns compatible with Bootstrap so we feel we won’t be short of choices.
With our own custom look and feel applied, we hope the community of developers and users of the CMS will benefit the most from this decision. We have already received some pretty good feedback, and a huge factor in making this move has been based on input from the community.