UI components standardization

It has been said that backward compatibility is not a priority for Yii 2. Moreover, you can always add jQuery UI to your own projects. What I’m saying is that Bootstrap 2 more accurately fits the purpose of a unified basic toolkit for Yii default components and templates (typography, responsive grid, widely used widgets etc.).

Bootstrap uses the same JS framework as Yii (jQuery).

I think that you don’t really understand the concept of “framework”. If you don’t want conventions, just use your own code with your own libraries.

It seams like Bootstrap is the only framework that brings css and javascript under one roof and it works great with jquery.

Nothing is being added, jQuery UI is already included. Your point is to remove it.

My point exactly “most used components” doesn’t cut it. jQuery UI is already heavily part of the framework with extensive integration with JUI widgets side of things. Bootstrap is something new that you want added.

Your purposal is to have it force functionality that should be optional. jQuery UI forces no default functionality, you either use a widget or you don’t its flexible enough to let anyone do what they want with it. Saying it doesn’t have certain pluggins in it that bootstrap does is null and void because bootstrap suffers from the same issue also jQuery UI has about a dozen new widgets in development and the only reason release of these have slowed is because they’re working on rewriting old pluggins to use the new api and widget factory.

I’m not saying don’t use bootstrap I’m just saying having both seems to cause real issues with you which I don’t quite get. Even at this moment jQuery UI is optional till you init it or use a widget. Have both and leave it to the developer whether they want to use it or not.

Even bootstrap adds lots of overhead and complication so won’t be ideal for most people. Also I prefer SASS to LESS so parts of it would be useless to me as would be the base css/scaffolding as our projects are complicated and diverse enough to make using something out the box impossible.

@Jaggi - thank you, this is exactly what I’ve been trying to say.

My point is that it could be removed from the core package but you can always add it by yourself (you know… surf to the jQuery UI website, download it etc.).

Not really. jQuery UI isn’t even properly merged into the Yii dirs structure, it’s inside a “zii” dir because it was originally available as an external component. Then, at some point, it was bundled with the main package, but it isn’t “heavily part of the framework”… no way. Moreover, it was said that backward compatibility is not a high priority for Yii 2… Yii 2 should be fresh air.

No, my proposal is “UI components standardization” for the base package, instead of the current mix of custom styles, Blueprint CSS and jQuery UI widgets. If you don’t like Bootstrap, just change to something else, just like at the moment you aren’t forced to keep Blueprint or use jQuery UI widgets.

Look beyond the end of your nose.

Wow can’t make a proper argument so result to sarcasm, you know that’s the lowest form of whit right?

If you actually browsed beyond this thread you’d notice there’s already been a suggestion (by me no less) to move all 3rd party additions to the package manager and as for the JavaScript libraries to make an adapter interface so not even jQuery would be a requirement. Each package would include the library and its dependencies.

Not sure how you do web applications but there’s no distinction between “properly merged” and not. If its in the framework folder then its part of the framework. There’s also a difference between not supporting backwards compatibility and throwing things out at a whim. “if it ain’t broke, don’t fix it”. Aside from my refactor suggestions to provide more flexibility there’s nothing wrong with how jQuery UI currently exists in the framework. I still don’t see what issues you have with supporting jQuery UI in the framework, its seems it you that needs to “look beyond the end of your nose”.

This would be a good point if you didn’t have literally pages of proper arguments. Sorry, this primary school-level rhetoric doesn’t work with me.

In that case, I think that the default UI of those additions should be based on Bootstrap 2.

[i]

[/i]It’s part of the framework but it’s not as deeply integrated as you wanted us to believe. “If it ain’t broke, don’t fix it” said the Average John when somebody wanted to add tyres to the wooden wheels of his car, right? The aim of my suggestions is to improve the Yii framework through the experience I matured as an early adopter of the this framework. Please look beyond the end of your nose. I’m not interested in convincing you or phpnode, really.

@Jaggi - I think you’re right, remove all JS related stuff from the core, this would end this argument once and for all. We could then have a bootstrap package, a jQuery UI package, a foundation package etc. The app generator should allow you to specify the package(s) you want to base your app on, and download them (if required) behind the scenes as part of the ./yiic webapp process. Each of the officially supported packages could be a separate repository under the YiiSoft github account, but other, trusted collaborators could be added to these repositories so that people who really care about bootstrap or foundation or whatever can help maintain and improve those individual packages without tying up the core team’s time. The core team could still retain a final say on contentious issues so that things don’t drift too far from the framework’s vision.

That was exactly the premise. It also solved the issue of jQuery updating too quickly as the package would be outside Yii it wouldn’t need to follow Yii’s development schedule and could be updated whenever it was required. It’d also give people more flexibility on what to use and make the core distribution lighter. Also things like JUI could be made with jQuery UI dependency so as you said it would free up the core team dev time.

Abstraction is nice until it degenerates into over-engineering with a self-defeating number of abstraction levels.

I have only one question - if moved to packages, who will develop then in the first place and maintain them for every release? Yii team is not that big to take such large tasks. And integration with gii? Right now building adminisrative interface is a piece of cake and is avaliable by default. I really dont wana decide witch package to choose - i just want to do stuff. And right now it works perfectly. Dont kill it just for the sake of making everything optional. Thats the beauty of Yii - you get a high quality base with skeleton to work wiyh. Take Zend and you dont know where to start with it at first. We do not need other clone of Zend or Symphony 2.

Bootstrap 2.0.2 has been released 3 days ago… there are some nice additions.

I think that there’s no such thing One framework better than Other framework, it is just a matter of needs.

However, in my experience I’ve found Bootstrap is easier, faster and smoother (and some times lighter) to integrate with Yii.

Bootstrap uses jQuery, so does Yii, so there’s no “duplication” or redundancy of JS libraries. But in my personal and business needs (and many more people) Bootstrap has fitted much better.

Once more, it doesn’t mean that Bootstrap is better… It is just I found it more comfortable for my needs.

One more thing, I think Bootstrap is better as default CSS framework, but if somebody wants to use something else, it is ok.

Btw, I never used Blueprint in my apps :P

Regards.

great ! never notice that bootstrap can be customized :lol:

+1 for Foundation

I think bootstrap is ok too, but the apps done with it, looks way to similar.

Also, some things to customize are really hard.

It’s a website feature for the 2.x version, Bootstrap is very customizable.

Guys: We have to give up on Foundation.

Ekerazha is not going to let us have it. :)

Hi guys,

to be honest, I think this will be a non-issue for 2.0.

So maybe this is a little bit OT here, but with Phundament 3 I’ve created the customization of the Yii Application solely with a custom config and a custom theme and also built it upon composer packages - everything for Yii 1.1.

As these are features also planned for Yii 2, I believe there will be a bootstrap frontend package and a zurb package (but only if jacmoe will write it :))) and many others. I see no reason, why you won’t easily be able to choose the initial setup of your Yii Apps.

Best regards,

schmunk

I see that you enjoy trolling even at Easter :)