Welcome, Guest. Please login or register.
Did you miss your activation email?
Jul. 25, 2014, 06:31:18 PM
56572 Posts in 12730 Topics by 18359 Members
Latest Member: JunkoWadzinski32
News:
 
The PRADO Community » Prado v3.x » General Discussion » Yii: a high-performance framework inheriting Prado « previous next »
Pages: [1] 2 3 ... 7 Print
Author Topic: Yii: a high-performance framework inheriting Prado  (Read 61658 times)
Qiang
PRADO Team Leader
Administrator
Diamond Member
*****

Karma: 99
Offline Offline

Posts: 3241



View Profile
« on: Oct. 06, 2008, 11:33:52 AM »

With your continuous support since 2004, Prado has grown in every aspect to be productive Web programming framework. We, as the developer team behind Prado, have kept thinking and investigating new ways to further improve your framework use experience, and here comes the Yii framework, a high-performance framework inheriting most features of Prado.

If you are a veteran Prado user, you may appreciate the power and programming style of Prado, but at the same time may gripe about some drawbacks of Prado. For example, Prado is slow when handling complex pages; Prado has a steep learning curve; many Prado controls are like black-boxes which are difficult to hack; and so on. Most of these drawbacks are very difficult to fix due to the nature of Prado and its targeted audience. That's why we start a new framework.

Compared with Prado, Yii is much easier and more efficient. Yii inherits most of Prado's code and presents them in a way easy and efficient to use. For example, Yii has the same modular application architecture, the same DB support, the same caching scheme, the same error handling and logging scheme, the same component-based Web interface, etc. Yii differs from Prado mainly in that it adopts the traditional MVC pattern and discards Prado's page controller and viewstate design which are the main difficult and inefficient part in Prado.

So should you switch to use Yii? If your projects based on Prado are already done, you should not change to Yii because the two frameworks differ fundamentally and it may involve significant effort to change a project from one framework to another. If your projects are just started, you may consider Yii as the candidate to use. However, for any serious business, it should always be very careful when adopting a new technology. If you are new to Prado, you may take a look at Yii and see if it fits for you. Although we believe many people will like Yii, many may just like the Prado way.

What's the future plan for Prado? We will continue to maintain Prado and fix bugs, and we may back-port some nice features from Yii to Prado. If we obtain extra hand to help, we will also add big features for Prado.

Please feel free to discuss about Prado and Yii by replying this post. For Yii specific questions, please visit its official website at http://www.yiiframework.com

Thank you for your support!

Prado Developer Team
« Last Edit: Dec. 22, 2008, 06:31:24 PM by Qiang » Logged
piar
Senior Member
***

Karma: 5
Offline Offline

Posts: 144


View Profile
« Reply #1 on: Oct. 06, 2008, 12:01:34 PM »

It will be very interesting to try new framework!

But about switching to use Yii in production application I have one question. Because it is now an alpha version, and may be significantly changed so are there some predictons when there will be the first stable release?

Many successes in developing of Yii!

Regards,
Logged
Qiang
PRADO Team Leader
Administrator
Diamond Member
*****

Karma: 99
Offline Offline

Posts: 3241



View Profile
« Reply #2 on: Oct. 06, 2008, 12:04:33 PM »

Yeah, Yii is still at alpha stage. Although it's code is relatively stable, I want it to be tried by public users so that it is proved to be stable.
I expect to get the first stable release by the end of the year.

Thank you for your support.
Logged
khaoz
Junior Member
**

Karma: 0
Offline Offline

Posts: 5



View Profile
« Reply #3 on: Oct. 06, 2008, 12:06:12 PM »

Yii seems good and fast.
My only problem with prado is performance and the activecontrol restricted to prototype (ok, it's possible to hack and get other js frameworks, but...).

Yii solve performance problems. And about ajax and js framework, how yii will work ?
Logged
Qiang
PRADO Team Leader
Administrator
Diamond Member
*****

Karma: 99
Offline Offline

Posts: 3241



View Profile
« Reply #4 on: Oct. 06, 2008, 12:10:35 PM »

Yii uses jQuery as the underlying JS layer. It is very popular and has very good ajax support.
Because Yii is extremely light-weighted, writing ajax-enabled pages no longer suffers from performance issue.

Try the search box on http://www.yiiframework.com/doc/api/. It is an autocomplete widget included in Yii. See how fast it is (a 0.2s delay is purposely set for this). Also try clicking "generate new code" button on http://www.yiiframework.com/contact/. It's also done by AJAX.

Yii will expand its widget (called control in Prado) library continuously and encapsulating those good ajax-enabled classes to make them easy to use.
« Last Edit: Oct. 06, 2008, 12:15:31 PM by Qiang » Logged
khaoz
Junior Member
**

Karma: 0
Offline Offline

Posts: 5



View Profile
« Reply #5 on: Oct. 06, 2008, 12:25:20 PM »

Nice, jquery is my framework of choice.
But my question is: If i want to use another framework, will be easy to replace jquery ? Something like plugabble js framework.

And about the docs, the guide is nice, but what about the old blog tutorial ? (or another full app tutorial) Cheesy
Logged
Qiang
PRADO Team Leader
Administrator
Diamond Member
*****

Karma: 99
Offline Offline

Posts: 3241



View Profile
« Reply #6 on: Oct. 06, 2008, 12:30:30 PM »

Using jQuery as the underlying js framework of Yii doesn't prevent you from using your own favorite js libs. First of all, jQuery itself is written nicely to coexist with other js libs well, as you might know already. Second, Yii widgets using jQuery also use suitable jQuery code to avoid conflict when other js libs are used. Third, Yii is designed to be extensible. So if you find any difficulty plugging your js framework, please let us know so that we can fix it.

Yes, the demos based on Yii are scarce at the moment. However, the included yiic tool is very powerful. If you read http://www.yiiframework.com/doc/guide/quickstart.first-app you may find that it can help you quickly create an application (either for production or demo purpose).

We are currently working to furnish the project site and provide more demos.
Logged
khaoz
Junior Member
**

Karma: 0
Offline Offline

Posts: 5



View Profile
« Reply #7 on: Oct. 06, 2008, 12:34:16 PM »

Qiang,

Ty for your work and answares. I will try to help with some yii tests. Wink
Logged
rgc
Junior Member
**

Karma: 0
Offline Offline

Posts: 34


View Profile
« Reply #8 on: Oct. 06, 2008, 02:24:32 PM »

hi all,

Qiang,  I understand that you are part of the  development team PRADO and  for this confuses me a bit this post.

A few months ago we made the task of choosing a framework for the development of projects of the company, the work was hard and after analyzing many variables we decided that PRADO was a very good option.

You are right when they spoke of the difficulties in development with PRADO, however I am confused about Yii by three things:

1. What will happen with the developments in PRADO needing support from the development team PRADO?
2. Can be complex the transition to Yii?
3. How likely is to Yii is the same thing will happen is going to PRADO?

I'm not an expert developer PRADO but already started a process, and I have produce some results and this me confuses.

Thank you.


From Bogotá, Colombia.
Logged
Qiang
PRADO Team Leader
Administrator
Diamond Member
*****

Karma: 99
Offline Offline

Posts: 3241



View Profile
« Reply #9 on: Oct. 06, 2008, 02:47:15 PM »

Thank you rgc for raising these questions. I believe other Prado users may have similar questions.

1. What will happen with the developments in PRADO needing support from the development team PRADO?
We will continue to support PRADO, but mainly on issue fixing and minor feature enhancements. We may also back-port some nice features from Yii to Prado.

2. Can be complex the transition to Yii?
If your projects are nearly completed or if you already write a lot of code, I suggest you do not make the transition. Choosing a new technology should always be seriously and thoroughly evaluated. Compared with Prado, Yii is much simpler and closer to traditional PHP developer thinking. Our team member Wei and Jason have already converted some of their simple applications to Yii in just a few days.

3. How likely is to Yii is the same thing will happen is going to PRADO?
We have devoted a lot of energy to support PRADO since 2004. We really do not want to abandon it, and therefore the Yii framework which may be considered as the successor to PRADO. If you dig into Yii's code, you will find a lot of similarities. We choose to start a new framework instead of PRADO 4.0 mainly because the rationale behind Yii is quite different from PRADO. Yii uses more traditional MVC while PRADO is closer to ASP.NET style.
Logged
FragMaster B
PRADO Supporter
Senior Member
*

Karma: 6
Offline Offline

Posts: 229



View Profile WWW
« Reply #10 on: Oct. 06, 2008, 02:55:48 PM »

Wow. I can't wait to play around with Yii. I've been using Prado for several years now and absolutely love it. A new framework that borrows many of the ideas of Prado but also implements the MVC pattern and is focused on speed intrigues me.
Logged
rojaro
Administrator
Platinum Member
*****

Karma: 44
Offline Offline

Posts: 802


PRADO aint no voodoo ...


View Profile WWW
« Reply #11 on: Oct. 06, 2008, 04:29:02 PM »

Great news :)=
Logged

A mathematician is a device for turning coffee into theorems. ~ Alfred Renyi (*1921 - †1970)
sergeymorkovkin
Senior Member
***

Karma: 6
Offline Offline

Posts: 157



View Profile WWW
« Reply #12 on: Oct. 06, 2008, 04:56:17 PM »

Hello, Quiang!

I'm glad to find out that aliens didn't steal or hire you! Smiley

MVC is the right approach for high performance framework. Prado contains
too much classes/actions that serve a purpose of runtime OOP data management. Probably,
this is a result of .NET inheritance. In most cases this affects runtime script memory usage and
requires caching pattern. The only positive result is a convenience of the model we gain. Just think
of Prado's configuration support.

Being a veteran in Prado, I'd like to offer some ideas that probably should be considered.

1. All JavaScript controls should be pre-skinned. Like TKeyboard in Prado. A generic system
lightweight skin should be developed. Afterwards, developers will be able to change colors
and sizes with a few lines of CSS instead of writing new CSS from the start.

2. Using jQuery is a good choice versus Prototype (123 KB!!). It's modular and expandable.
But I didn't find OOP support. Probably you should concider reading our discussion about
JS support in Prado: http://www.pradosoft.com/forum/index.php/topic,10872.0.html
OOP support like in YUI is (I think) nessesary. They call this concept power-constructors.

3. Implement application configuration persistence methods. I had to implement XML-based
configuration interface and wonder why it's stil not present in Prado. I recommend the following
approach. Application configuration is a class inherited from CSettings. This class contains default
configuration values, handles field value filtering, offers complex structure (not just a plain array).
Base class manages configuration loading and saving to file, can be customized.

4. Better support for IonCube and other encoders. Especially, when it's needed to read/write some
system files with functions like ioncube_readfile/ioncube_writefile.

5. TPropertyValue should probably extend it's funcionality by offering a better value filtering such as
CPropertyValue::ensureString($value, $pattern), CPropertyValue::ensureInteger($value, $min, $max)
and others.

Waiting for your feedback, Qiang!
« Last Edit: Oct. 06, 2008, 05:06:54 PM by waylex » Logged

Pro web developer, open for new projects, click for portfolio.
Qiang
PRADO Team Leader
Administrator
Diamond Member
*****

Karma: 99
Offline Offline

Posts: 3241



View Profile
« Reply #13 on: Oct. 06, 2008, 05:11:40 PM »

Thank you for raising these nice suggestions. I will respond one by one.

1. Yes, a control (or a widget in Yii) should try to be as self-contained as possible. This means it should contain a default skin. I think this is already done in Prado and also in yii. But if you find anything not done, please let us know.

2. The reason we chose jQuery is mainly because of its modular structure and rich 3rd party extensions. Our experience of maintaining Prado is that we should pay particular attention to user-contributed efforts because it would greatly enhance the power of the framework.

3. In Yii we have CConfiguration.

4. I know you created a ticket for this long time ago. We didn't try to implement it not for technical difficulty, but more about performance. There also seems insufficient need for this.

5. Yii favors simplicity and performance over theoretically perfectness. Templates in Yii are simply normal PHP scripts. Therefore, people do not need to learn a new template language. Using PHP scripts as templates also benefits from byte-code cache such as APC.

6. TPropertyValue is created mainly because configuration of property values in Prado is mainly done in terms of text values. In Yii, because we use PHP-based configuration and template, such type conversion is no longer needed.
Logged
sergeymorkovkin
Senior Member
***

Karma: 6
Offline Offline

Posts: 157



View Profile WWW
« Reply #14 on: Oct. 06, 2008, 05:24:21 PM »

Probably, this is the right choice for major users. At least, YII forum will contain much less questions that repeat from time to time.
Logged

Pro web developer, open for new projects, click for portfolio.
Pages: [1] 2 3 ... 7 Print 
« previous next »
Jump to: