Vuetify - Material Component Framework for VueJS 2
vuetifyjs.com
vuetifyjs.com
I'm super excited about VueJS, and start using it on my site. But when I see a component for a button, you know, just a regular styled link... I wonder if there is really a purpose to that? How do you strike the right balance of what should be a component, and what can be handled as plain html with perhaps some backend helpers to output in view templates?
Also just as a general criticism I think it's not welcoming for a Vue component framework to have such a strong opiniated design built in. It would be much nicer to have the theme something relatively easy to change. It may be don't get me wrong... but my first impression is "Can I even use this? Without changing tons of style rules?".
For this I think the relatively simple design of Bootstrap is a strength. Give me the same components with a barebones design, with cheap flat buttons with some rounded corners for "pzaz" and then I feel much more confident about bringing that into an existing project. Even if I started a site today, I don't want to use Material design.
Why shouldn't there be a component for a button? Buttons can have endless styles and animations. They have a myriad of behaviors. For instance, there are differences in how they could respond to touches versus mouse clicks. They have a standard interface. With a component, you could keep them consistent across an application and share them across applications.
yeah, I agree that seems a misconfigured vue-loader/webpack issue. but when you do approach overkill, however you choose to define it, vue's server-side rendering starts to make a lot of sense. personally I wouldn't use a JS framework without SSR because progressive enhancement is important to me, but that's a digression.
This is because the span inside an icon has a huge font size. And they use ligatures for characters (so I'm seeing the huge ligatures).
Why would someone choose ligatures over CSS classes?
Edit: I was thinking about problems with screen readers and so on. A CSS class is just styling, but what Google uses is content.
That's a really good question because I presume they did it for a reason. Why else go through the hassle?
But https://vuematerial.github.io/ looks to have pretty similar "features" and is "Vue native" as well.
No one is forcing us to make everything a component. What would be a benefit of having a footer or header a component for example?
Hard to move to anything this unless it's the most basic of applications.
That's just one reason why it saddens me to see so many proprietary frameworks out there with more all the time, especially ones that are so close to being compatible with Web Components. If Vue just used and produced Web Components, it could use a common Material Design component set. The investment in fewer component sets by more people would result in much higher quality and free up developers to work on higher-level things.
It's not a huge deal, and honestly I have built some sites like that as well, but when you're pitching front-end frameworks, stuff like that matters. I don't want anyone to think that that kind of flicker is inherent to Vue.
If anyone has a better plan, I'm all ears!
If done right, it makes the interface feel fluid and alive rather than just click and appear.
Whether or not you like that is personal preference.
https://angular.io/docs/ts/latest/ is the best material implementation i believe.
I really dislike the trend of material "inspired" designs that seem to obscure functionality in the name of aesthetics. Things like hiding buttons and input fields as (minimally styled) text on plain backgrounds, or screwing with scroll behavior drive me nuts.
On the other hand, I do like the occasional, subtle, animation that makes the interface feel like something with a bit more substance and interactivity than usual. The little ripple animations on touch are a good example of pleasant eyecandy that adds a bit of, for lack of a better phrase, emotional appeal.
Sliding/scaling/etc. dropdowns, sidebars, and menus that move around to indicate where they came from and are going to are fine and useful, but that's hardly unique to material.
There's a form near the bottom of page, but it's very, very easy to miss because it implements Material Design-inspired input fields. And thought this is a DIY implementation, the 'official' version is highly similar: https://material.angularjs.org/latest/demo/input
For me, no animation or clever UX in the world is worth actually hiding the input a user is looking to use.
I honestly think this Material thing is just a huge troll of the design community.
That said, I do like flat designs. I've recently moved from Android to iOS and I'm really enjoying the UI. Although it is a flat design, it does have accents and details.
Material design just looks like something half-baked to me: I can't drop the feeling that there is way too much white space.