Giter VIP home page Giter VIP logo

Comments (53)

allanfreitas avatar allanfreitas commented on May 30, 2024

@qiangxue @samdark I think the ideia of "yiiext.github.com" it's awesome, with "official" extensions, and not include many things on the CORE of Yii. The actual version (1.1.13) is already about 19Mb of size, when decompressed.
What do you think about? (it's only my opinion, I want to know yours).

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

First, this is an extension, meaning optional in downloading. So you shouldn't worry about download size.
Second, we want to officially maintain some commonly used extensions so that developers can have ready-to-use and high-quality tools they need without the worry of code breaks or discontinued support.

from yii2.

allanfreitas avatar allanfreitas commented on May 30, 2024

@qiangxue Thanks for explain it. It's good to know that will exist official extensions, this three qualities (ready-to-use|high-quality|continued support) on Yii tools are awesome features.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

Will you separate this extension into an own repository?

from yii2.

samdark avatar samdark commented on May 30, 2024

Not this one, I guess.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

Please consider it, we also had this discussion about the zii widgets, it's minimal overhead to include it as a package, but would greatly enhance the modularity of the framework.

E.g. if someone wouldn't use bootstrap at all he would not require this package and get a slimmer core. This applies also to any package which depends on other code, eg. zii-widgets depend on jQuery.

from yii2.

tonydspaniard avatar tonydspaniard commented on May 30, 2024

@qiangxue @samdark "officially maintain some commonly used extensions so that developers can have ready-to-use and high-quality tools they need without the worry of code breaks or discontinued support"

Bootstrap is an external source, what would happen if bootstrap is in the future replaced in use by, for example, the zurb foundation? I do not think that it should be officially supported but Yii should provide the right standards to avoid the creation of bad and buggy extensions and let developers do the rest.

from yii2.

samdark avatar samdark commented on May 30, 2024

@tonydspaniard we'll support one of these bootstrapping frameworks. Most probably it will be Twitter's since Foundation dropped support of IEs except the very latest too soon.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

Yii2 should provide support for any CSS/UI framework and no framework or components should be tied to the core.

from yii2.

samdark avatar samdark commented on May 30, 2024

It will not be tied. It will be bundled.

from yii2.

tonydspaniard avatar tonydspaniard commented on May 30, 2024

Chris and I have nearly finished Yiistrap and Yiiwheels. We joined forces to improve its last library and also to stand up over YiiBooster, library that I no longer support, adding Yiiwheels to extend Yiistrap so to keep one and only library from Twitter Bootstrap's.

@samdark @qiangxue maybe would you consider adding both as one library to Yii2?

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

@tonydspaniard We can certainly consider adding them to Yii 2, provided that you are willing to modify the license terms to follow that of the existing Yii 2 code. Having said that, I think if we decide to move along this way, we need to agree on the design of the base classes first, and then modify the more concrete class implementations. Actually it will be almost like a rewrite. The main difference is that you have much more experience with these bootstrap widgets and probably have better idea than us on how to make them even better. Do you think this is fine with you? We may discuss further details in emails.

from yii2.

tonydspaniard avatar tonydspaniard commented on May 30, 2024

@qiangxue I would love to participate actively with them. My only concern is that I worked with Chris and what we did is a rewrite of his Yii-bootstrap and he asked me to keep the copyright. Nevertheless, Yiistrap is a library built for Yii 1.1.+ and I do not see any issue in building a new that will comply with Yii2 expectations.

I will ask Chris, as my ethics force me to do so, if he wishes to work with me in order to integrate Yiistrap + Yiiwheels into Yii2. Whatever his answer is, please count me in.

from yii2.

crisu83 avatar crisu83 commented on May 30, 2024

Hello, I'm joining in a bit late but I just wanted to say that I'm open for discussion about developing similar functionality as Yiistrap for Yii2. I would love to participate.

from yii2.

marsuboss avatar marsuboss commented on May 30, 2024

You use what version of Bootstrap ? v2.x or v3.x ?

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

Shouldn't the bootstrap code go into https://github.com/yiisoft/yii2/tree/master/extensions? Same with jui.
Otherwise it's in the core and it will be harder for developers the develop with other CSS frameworks.

from yii2.

samdark avatar samdark commented on May 30, 2024

I think it should.

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

What's the drawback of keeping bootstrap in the core?

from yii2.

samdark avatar samdark commented on May 30, 2024

There are no drawbacks keeping it as official extension.

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

There is:

  • The debug toolbar (will be in the core) will use bootstrap;
  • It's possible some future core modules will depend on bootstrap.

from yii2.

samdark avatar samdark commented on May 30, 2024
  1. What if you prefer foundation? Both bootstrap and foundation will be loaded at the same time?
  2. Gii?

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

What if you prefer foundation? Both bootstrap and foundation will be loaded at the same time?

Nope. The debug toolbar itself won't use any CSS framework. It is the debug module that will display standalone debug pages which will use bootstrap.

Gii could be in either core or official extension. If it will be in the core, then that's another positive argument.

Basically my argument is that if we have some core code that depends on a CSS framework to work well, then we should keep this CSS framework in the core.

from yii2.

samdark avatar samdark commented on May 30, 2024

It's OK for me to keep bootstrap in the core as long as it's used for standalone modules only i.e. not conflicting with any user JS/CSS.

As for jui, I think it worth moving into separate official package.

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

I agree moving jui to extensions. We only need one such framework to use for GUI-related core code (with the assumption that it won't interfere with application code).

Regarding core vs. official extensions: the only advantage of using official extensions is that it makes the size of the core code smaller. Our situation is different from ZF2/SF2 since our extensions are not designed to be reused in other frameworks.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

The debug toolbar (will be in the core) will use bootstrap;

In the toolbar composer.json: require: { "yiisoft/yii2-bootstrap": "1.x"}

It's possible some future core modules will depend on bootstrap.

Then they should be also released as separate extensions and require yii2-bootstrap.

That would be much cleaner, IMHO. And if you want to release a complete archive the build process should take care of this.

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

Why should we turn the debug toolbar into an extension? This will be used by almost all applications. Turning it into an extension means extra dependency for every application, and the only benefit is that it makes the size of the core code smaller.

from yii2.

samdark avatar samdark commented on May 30, 2024

No need to decouple toolbar. It will be used in 99% developer's environments, I think.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

It is the debug module that will display standalone debug pages which will use bootstrap.

@qiangxue What exactly do you mean with that? Are these pages in the backend, which use CSS and components from bootstrap?

from yii2.

cebe avatar cebe commented on May 30, 2024

What exactly do you mean with that?

Components like Gii in 1.1 that use own UI not integrated in another layout. They can use bootstrap without conflicting.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

But then twitter/bootstrap should be at least in the require-dev section of yiisoft/yii2 and a decent way should be provided how to update this dependency and recompile it, same applies to jquery.

Or how would I update one of these?

from yii2.

samdark avatar samdark commented on May 30, 2024

Are there official composer packages for these?

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

Yes, we tried to use the twitter/bootstrap package. Unfortunately, it uses LESS and needs to be compiled.

You can configure AssetManager::bundles to use your chosen version of bootstrap or jquery.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

Bootstrap yes. Jquery no.
Does AssetManager::bundles download the version you specify, sorry I have almost no experience with grunt and npm? @tonydspaniard mentioned a composer npm bridge once.

from yii2.

samdark avatar samdark commented on May 30, 2024

Nope. You have to do it yourself.

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

No, AssetManager::bundles won't download anything. It just maps the asset bundle names to the concrete asset files.

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

You can still make your application depend on the twitter/bootstrap package. You just need to configure AssetManager::bundles so that it will use the version in your package.

from yii2.

schmunk42 avatar schmunk42 commented on May 30, 2024

OK, sounds fine.

from yii2.

qiangxue avatar qiangxue commented on May 30, 2024

What is the remaining work for this issue? I'm moving this out of alpha.

from yii2.

creocoder avatar creocoder commented on May 30, 2024

@qiangxue Suggest to move yii\bootstrap to extenstions and rename it to bootstrap2. Bootstrap 3 is out and this is not BC with 2.3.2 version.

from yii2.

crisu83 avatar crisu83 commented on May 30, 2024

I don't argee. Bootstrap 3 is not out yet, they released RC1 yesterday and it will still be some time before it's stable. I would however consider upgrading to Bootstrap 3 once it's stable. Even though there is a lot of changes not that much has actually changed. Yii's implementation of Bootstrap is quite shallow so it should be easy to do the necessary changes.

from yii2.

creocoder avatar creocoder commented on May 30, 2024

@crisu83 Bootstrap 2.3.2 will be actual a long time after 3 will be released. So its good to have both but as extensions, strictly not in yii 2 core.

from yii2.

crisu83 avatar crisu83 commented on May 30, 2024

I understand what you mean but I'm quite certain that Bootstrap 3 will quite quickly replace Bootstrap 2.3.2. We saw this already when Bootstrap 2 was released. Yii's core already contains a lot of built in functionality that other similar frameworks doesn't so I don't see why Bootstrap couldn't be a part of its core.

from yii2.

creocoder avatar creocoder commented on May 30, 2024

@crisu83 Ok, really does not matter for bootstrap 2 or 3 or for both this \yii\bootstrap will work. The main idea is to illiminate this from core. There is many reasons to do that. First is Bootstrap BC cycle !== Yii 2 BC cycle. After year there maybe another trend or event Bootstrap 4. When Yii 2 will be released we will have BC reasons. So this is very important to move bootstrap to official extensions.

from yii2.

creocoder avatar creocoder commented on May 30, 2024

And about that

but I'm quite certain that Bootstrap 3 will quite quickly replace Bootstrap 2.3.2

If you work with bootstrap like with framework (customize that, etc) than NOT quickly. There is many project that used custom Bootstrap 2.3.2 builds in frontends.

from yii2.

sensorario avatar sensorario commented on May 30, 2024

I think better choice is Yii 2.0 with Bootstrap 2.3.2 in composer. We have composer. Maybe, ... Yii 2.1 will works with Bootstrap 3.0 ... I still prefer "decoupling" of components and framework. But Yii has another workflow.

from yii2.

creocoder avatar creocoder commented on May 30, 2024

But Yii has another workflow.

All fine with workflow here. See:

https://github.com/yiisoft/yii2/tree/master/extensions

Maybe @qiangxue just forget to move bootstrap to extensions.

from yii2.

Ragazzo avatar Ragazzo commented on May 30, 2024

@creocoder is right definitely must be extension and not in the core.

from yii2.

crisu83 avatar crisu83 commented on May 30, 2024

I'm actually starting to lean towards moving it to the official extensions. I haven't looked that much as Yii2 yet so I'm still getting to know the whole structure.

from yii2.

samdark avatar samdark commented on May 30, 2024

@tonydspaniard what's left on this one except the decision to move it to an extension or not?

from yii2.

doliver3 avatar doliver3 commented on May 30, 2024

Could support for Bootstrap 3 be added?
Bootstrap 3 has been officially released for 2 months now.

from yii2.

cebe avatar cebe commented on May 30, 2024

@doliver3 we have bootstrap 3 already ;)

from yii2.

sensorario avatar sensorario commented on May 30, 2024

<3

2013/10/22 Carsten Brandt [email protected]

@doliver3 https://github.com/doliver3 we have bootstrap 3 already ;)


Reply to this email directly or view it on GitHubhttps://github.com//issues/20#issuecomment-26783002
.

from yii2.

samdark avatar samdark commented on May 30, 2024

Bootstrap support implemented.

from yii2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.