首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
V2EX  ›  JavaScript

有人在项目中用过kissy框架吗?

  •  
  •   yakczh · 2013-05-18 11:11:19 +08:00 · 10633 次点击
    这是一个创建于 2348 天前的主题,其中的信息可能已经有所发展或是发生改变。
    简单测试了一下
    至少要用  seed.js
    config.js
     基础组件combine.js
    页面主引导脚本.js
    四个请求

    另外按需加载要等用户触发时再去下载相应的模块,会不会对用户体验有影响?
    14 回复  |  直到 1970-01-01 08:00:00 +08:00
        1
    plprapper   2013-05-18 11:14:47 +08:00
    淘宝主站的功能应该都是kissy了,体验的问题你应该有感觉。
        2
    chemzqm   2013-05-18 11:32:40 +08:00
    实际上线前请求可以在后台合并的
        3
    xiaoxuxu   2013-05-18 13:43:56 +08:00
    @plprapper 网速慢的时候,往下拖网页体验不好。但是好处是一开始网页很快就加载完成了
        4
    hxgdzyuyi   2013-05-18 13:49:21 +08:00
    我觉得jquery就很好呀。 不是很明白替换kissy的动机是啥 , 或者说kissy有什么特别好的优点么~

    按需加载的有很多其他的选择嘛 requirejs 什么的
        5
    zythum   2013-05-18 14:09:59 +08:00
    我总有种kissy是玉伯玩剩下的东西。
        6
    chemzqm   2013-05-18 14:21:16 +08:00
    @hxgdzyuyi 淘宝选择kissy大致跟yahoo的yui有关,丰富的底层组件、模块化、沙箱机制保证大规模开发的质量。当时requirejs那一类框架还没诞生吧
        7
    benzhe   2013-05-18 14:56:11 +08:00
    整个淘宝都在用 KISSY,肯定不会坑你的,虽然它还在完善中。

    对于 lz 的问题,KISSY 很重要的一个自动 combo 机制(需要服务器支持),只要事先配置好包依赖,就可以将整个页面的脚本简化为两个,一个 kissy(或者seed.js),一个 combo 后的地址

    kissy 文档中的提到「按需加载」,更多的的是指开发者需要用到哪些模块才去配置,而不是等用户触发加载,因为 seed.js 只包括一些核心方法和 loader。

    @xiaoxuxu 滚动的体验问题大多是图片懒加载造成的;图片懒加载为了避免页面一下子请求巨多图片,这样体验反而更差了

    @zythum 这么说应该会被玉伯打 PP 的,kissy 是一个完整的 js 框架,而 seajs 只是 loader
        8
    zythum   2013-05-18 16:58:33 +08:00
    @benzhe
    记得kissy 最早的时候朱一用过。还在大三大四的时候。只是一个简单的类库。还没有seed这个目录。
    按需加载 说白了就是打包的时候把哪些东西打进去。不需要的不用打进去了。

    感觉悲催的是。
    我怎么记得kissy的最早作者是玉伯。然后玉伯现在在支付宝折腾arale了...
    现在kissy的维护貌似是承玉他们了。
    不过前端时间貌似承玉还说过kissy的升级什么的。貌似淘宝应该还是用的挺欢。店铺的一些东西也是可以用一些kissy组件写个效果什么的。

    不过反倒是现在没怎么空去用用araleJs, 现在js的框架多的和什么似的。上班用着自己公司的框架。真的没时间去折腾这些了。 困
        9
    yetone   2013-05-18 17:04:04 +08:00 via Android
    关于淘宝为什么要造 kissy 这个轮子,请看玉伯的这个回答:http://www.zhihu.com/question/20099586/answer/13971670
    所以吧,还是用 jquery 吧
        10
    yakczh   2013-05-20 12:20:30 +08:00
    http://aralejs.org/docs/online-status.html

    貌似这个也是用用seajs加载, 一样用服务器combo打包,跟kissy有什么区别吗,难道淘宝主要就用同样的技术,不停地造新的轮子?
        11
    chemzqm   2013-05-20 14:00:20 +08:00
    @yakczh 不是同样的技术,总的来说SeaJS的加载方式更灵活,更通用一些,Kissy是根据淘宝的业务需要发展起来的,而Arale是根据支付宝的业务需要发展起来的;它们未必最能满足你自己项目的业务需要,选框架就跟选对象一样,要选合适的而不是最好的。
        12
    yakczh   2013-05-21 17:06:20 +08:00
    按照http://seajs.org/docs/#quick-start 这上面的配置

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title></title><script charset="utf-8" id="seajsnode"src="http://static.alipayobjects.com/seajs/1.3.1/??sea.js,plugin-combo.js"></script>
    <script>
    seajs.config({
    // 配置插件
    plugins: ['shim'],

    // 配置别名
    alias: {
    // 配置 jquery 的 shim 配置,这样我们就可以通过 require('jquery') 来获取 jQuery
    'jquery': {
    src: './js/jquery-1.7.1.min.js',
    exports: 'jQuery'
    }
    }
    });

    define(function(require, exports, module) {

    var $ = require('jquery');


    });

    </script>
    </head><body><button id='demo' > demo</button>
    <script type="text/javascript">

    seajs.use(['jquery'],function($){
    console.log($);
    $('#demo').click(function(){
    alert('ok');
    });
    });





    </script>
    </body></html>

    firebug控制台报错 Error: $ is not a function
        13
    hxgdzyuyi   2013-05-22 14:01:28 +08:00
    @chemzqm 但是现在已经有了成熟的amd解决方案。 包括seajs。 seajs也可以不需要使用kissy~ 所以目前选择kissy来开发的好处还有什么呢?
        14
    yakczh   2013-05-22 14:25:50 +08:00
    seajs不是说是cmd规范吗?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4036 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 170ms · UTC 05:41 · PVG 13:41 · LAX 22:41 · JFK 01:41
    ♥ Do have faith in what you're doing.