You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Werner Punz (JIRA)" <de...@myfaces.apache.org> on 2010/05/17 09:12:42 UTC

[jira] Created: (MYFACES-2721) Second part of the Javascript Refactoring

Second part of the Javascript Refactoring
-----------------------------------------

                 Key: MYFACES-2721
                 URL: https://issues.apache.org/jira/browse/MYFACES-2721
             Project: MyFaces Core
          Issue Type: Improvement
    Affects Versions: 2.0.0
            Reporter: Werner Punz
            Priority: Minor


Cleanup the entire queue and xhr part so that we do not have to rely on singletons
and have an implementation specific free transport object itself, which can be plugged and
replaced for different transports.

This step is vital due to the upcoming iFrame and websocket transports.

Also the PPS part needs some cleanup, it has functionality in which is covered in a more optimized way
by our _Dom.js file (so we get an auto speedup by moving there)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (MYFACES-2721) Second part of the Javascript Refactoring

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-2721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Werner Punz resolved MYFACES-2721.
----------------------------------

    Fix Version/s: 2.0.1-SNAPSHOT
       Resolution: Fixed

Ok my testcases including Trinidad work, the codebase scales down to ie6.

I also have a slight feeling we are faster than before (a little bit), due to browser specific optimized dom walking routines
and due to less direct access to the namespaces, as well as optimized namespec resolution.

I guess the codebase now is refactored enough to be left alone for bugfixing again, and we
now have a workable structure for the next revisions of JSF and also a codebase which we do not have to be ashamed of.

As for the size difference to mojarra there are several reasons:
a) We are highly modular

b) we have a core framework for inheritance, namespaces etc... which will become invaluable once the codebase becomes bigger
and also should be reused if possible for tomahawk and maybe as well for Tobago.

c) We have partial page submit, xhr timeouts, queue control etc... already in all functionality which either will come with JSF 2.0reva or 2.1

d) We are already prepared for pluggable transport mechanisms and cover some extreme corner cases very likely never to occur but which increased
the codebase as well.

e) We cover absolut corner cases like detached controls, which are unfortunately present in modern javascript libraries, thanks to deficits in ie6+

In the end we are at a bearable size with 70kbyte for the deployment file and if the server supports gzpipped loading then it can compress the file down to 17kbyte (tested that prematurely by simply zipping our final jsf.js file)



> Second part of the Javascript Refactoring
> -----------------------------------------
>
>                 Key: MYFACES-2721
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2721
>             Project: MyFaces Core
>          Issue Type: Improvement
>    Affects Versions: 2.0.0
>            Reporter: Werner Punz
>            Priority: Minor
>             Fix For: 2.0.1-SNAPSHOT
>
>
> Cleanup the entire queue and xhr part so that we do not have to rely on singletons
> and have an implementation specific free transport object itself, which can be plugged and
> replaced for different transports.
> This step is vital due to the upcoming iFrame and websocket transports.
> Also the PPS part needs some cleanup, it has functionality in which is covered in a more optimized way
> by our _Dom.js file (so we get an auto speedup by moving there)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.