将你的 KISSY 程序移植到服务器端 – nodejs-kissy 项目简介

如果你还不了解 NodeJS,请参照 NodeJS.org,简言之:

Node.js 是服务器端的 JavaScript 运行环境,它具有无阻塞(non-blocking)和事件驱动(event-driven)等的特色,Node.js 采用 V8 引擎,同样,Node.js 实现了类似 Apache 和 nginx 的web服务,让你可以通过它来搭建基于 JavaScript 的 Web App。

你可以通过我们前些天 team 内的一个分享来了解下 NodeJS

nodejs-kissy 项目

KISSY 是淘宝网开发的一款轻巧灵活的JS框架,如今已经是1.1.5版本,并在淘宝网广泛应用,在浏览器端给我们带来更加清新的体验,今天让我们更进一步,我们发起了nodejs-kissy 项目,你的 KISSY 程序可以无缝移植到服务器端了 ^_^

从这里开始 nodejs-kissy

得益于 KISSY 轻巧的设计,核心模块可以很充分的解偶,所以对 KISSY 作简单hack就能够运行在 NodeJS 上。但开始之前应该首先准备好预装了 npm 的服务器(linux/FreeBSD/MacOS/cygwin),npm 是 NodeJS 软件包管理器,类似yum 和 apt-get,通过他来安装 NodeJS 的软件包会非常方便。

准备 npm:

curl http://npmjs.org/install.sh  sh

如果你的账户没有权限则先准备好目录权限:

sudo chown -R $USER /usr/local

安装成功后就可以通过 “npm install package_name” 命令来安装 NodeJS 软件包了

安装 Nodejs-KISSY 的依赖:服务器端没有浏览器环境,要运行js需要模拟真实的浏览器环境,因此 KISSY 需要依赖一些包:

npm install jsdom
npm install htmlparser
npm install express
npm install connect

安装Nodejs-kissy:

npm install kissy

运行 “hello world”:

新建文件 helloworld.js

var S = require("kissy").KISSY;
S.ready(function(S){
    S.log("hello world!");
});

运行:

node helloworld.js

更方便的移植?

你可能会好奇,服务器端没有浏览器,为什么KISSY能如此轻松的运行在服务器端?这主要是因为KISSY的模块加载机制是脱离浏览器环境的,也就是说KISSY.use、KISSY.add、KISSY.app是和环境无关的,它只关系到你组织代码的方式和风格,另外,得益于足够原生态的KISSY-DOM实现,KISSY只调用到domjs(domjs的高层api是面向YUI3设计的)的基础方法,所以DOM相关操作依然可以无缝嫁接到服务器端,相对于YUI3核心模块的深层次耦合,KISSY的移植实在是太轻松了。

策略上的取舍

KISSY 基于“one for all”理念的core和粗粒度的widget,使得KISSY可以使用更少的”引入文件”来执行程序,而非必要一定采用combo(即使采用combo性能未必提高多少),这样使得require的逻辑策略更简便。

所见即所得

和YUI3一样,KISSY-Loader 也可以非常方便的引入外部脚本,不管脚本是存放在服务器上,还是通过http请求到,开发者只要require fullpath即可,非常低碳,比如我可以这样运行:

var S = require("kissy").KISSY;
S.add({
    "menu":{
        fullpath:"http://cdn/menu.js"
    }
}).use("menu",function(S){
    new S.Menu("#ID");
});

总之,你在浏览器端怎么用 KISSY,你就在服务器端怎么写,接下来,nodejs-kissy 项目的主要工作是更多的测试和提高其健壮性。nodejs-kissy 和 KISSY 一样基于 MIT 协议,你可以通过 fork github 上的项目来参与 nodejs-kissy 的开发。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索qt移植 环境搭建
, 服务器
, nodejs git
, nodejs
, 浏览器
, 运行
, linux nodejs
, install
, nodejs express
, kissy
, nodejs安装express包
, nodejs操作mongoose
, nodejs服务器
npm缺少模块
微信小程序 服务器端、服务器端程序、小程序服务器端demo、服务器端程序开发入门、vb.net 服务器端程序,以便于您获取更多的相关知识。

时间: 2024-09-15 21:35:19

将你的 KISSY 程序移植到服务器端 – nodejs-kissy 项目简介的相关文章

DB2 V9.5版本中数据库应用程序移植的改进

版本9.5中改进的应用程序可移植性增加了与现有代码的兼容性,并且不再需要迁移使用其他供应商的数据库的应用程序.版本9.5包含以下增强功能: 支持在过程和调用过程的应用程序中使用ARRAY数据类型. 支持全局变量.全局变量是已命名的内存变量,您可以通过SQL语句访问和修改此变量.版本9.5支持已创建的会话全局变量,这些变量与特定会话相关联并包含该会话独有的值. 支持其他供应商的 SQL 方言.版本 9.5 包含对 DECODE.NVL.LEAST 和 GREATEST 函数的支持. 数组数据类型

C程序移植到VC开发环境下

说明 本文是作者学习计算方法时所做工作的总结.我们改写了徐士良先生编著的<C常用算法程序集>(清华大学出版社出版) 数值计算部分-前15章所有程序,并全部在 VC6 + Windows2000 下调试通过.数组类和矩阵类有两个版本:封装成模板类.普通类,我个人认为后者可能更实用,但论文中以模板类形式给出. 本文已经在www.vchelp.net上发表过,该网站允许作者另投其他网站. 摘要 针对C程序的特点,给出将之移植到VC集成环境下的技术,对一个常用程序集实施了大规模的改写,并提供了C++数

如何将OS/2应用程序移植到Linux操作系统

当从 OS/2 移植到 Linux 时,关键的编程问题是什么? 在转换到 Linux 之前注意一下,提早发现陷阱.LANDP 小组带领您了解 OS/2 和 Linux 之间的差别,以便您的移植工程才能更顺利地进行. 本文是 LAN Distributed Platform(LANDP)for Linux 小组把 LANDP 从 OS/2 移植到 Linux 时所遇到的问题的概述.本文对其他正在把 OS/2 应用程序移植到 Linux 的小组应该是有帮助的.当决定了要把 OS/2 版本的 LAND

详解如何将Unix应用程序移植到Linux系统

介绍 您知道 Linux 现在已是世界第二的服务器操作系统吗?今天,您的应用程序在 Linux 上运行吗?如果不是,那么本文将给您些提示和技巧,在您把应用程序移植到 Linux 的时候为您提供指导.本文依据的是软件工程师的经验,这些工程师来自独立软件供应商(Independent Software Vendors,ISV)和全世界的 IBM 实验室,他们参与了许多把应用程序移植到 Linux 的项目. 首先我们描述 Linux 的特征和它在开发和管理应用程序中的具体价值.接着,我们将回顾重要问题

我想要保护设备中的程序,据我了解目前有高强度加密算法保护,还有的就是程序移植,哪种方案比较好呢?

问题描述 我想要保护设备中的程序,据我了解目前有高强度加密算法保护,还有的就是程序移植,哪种方案比较好呢? 我想要保护设备中的程序,据我了解目前有高强度加密算法保护,还有的就是程序移植,哪种方案比较好呢?目前成本有限,两种都支持的话成本太高. 解决方案 推荐使用加密,程序移植我个人不大懂,我理解的程序移植要更换编程语言到其他平台上去. 解决方案二: 如果考虑成本的话那肯定是加密了 解决方案三: 1 数据加密保护:程序段A 芯片 产生随机数Rnd 加密Rnd,获得Res 认证<-------Res

低版本的c++程序移植到vs2010上

问题描述 低版本的c++程序移植到vs2010上 #if _WIN32_WINNT < 0x0403 #error This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended. #endif 解决方案 在stdafx.h加上#define _WIN32_WINNT 0x0501 (0501表示xp)

arm-将Qtopencv的程序移植到ARM板子上面运行没有反应是怎么回事?

问题描述 将Qtopencv的程序移植到ARM板子上面运行没有反应是怎么回事? 为什么我把编译好的QtOpenCv程序移植到ARM上面,运行什么反应也没有,没有报错, 也没有反应,opencv是用的4.5.1的编译器编译的,qt程序是4.7.1的编译器编译的, 请问这两者的不统一会导致这个问题吗??如果不会,那么导致这个程序什么反应都没有的情况是怎么导致的.请有关大神来解决下.... 解决方案 那个链接是局部的, 用root权限重新链接一下

通过VS15将Win32应用程序移植到Windows 10

Project Centennial 使现有的Win32应用程序更容易迁移到Windows 10通用平台上(UWP),该项目是微软在应用程序迁移方面努力的一个代表.微软希望在桌面应用程序上Windows 10可以取代之前所有的Windows版本,但为了真正取得成功,他们需要在Windows 10上提供用户需要的应用程序.然而,由于传统的Win32平台不可思议的长久寿命,大多数开发商在当前的代码库有重大的投资,这让他们不愿意切换到UWP应用. 微软希望通过Project Centennial 能够

把03的程序移植到05上,那个NAMESPACE怎么办?

问题描述 把03的程序移植到05上,那个NAMESPACE怎么办?还有APP-CODE下的文件夹怎么引用?急 解决方案 解决方案二:用05打开03的工程,开发环境会自动替你进行代码的版本转换解决方案三:1.那个namespace不怎么办...它和03.05没关系...2.App_Code下的文件夹怎么引用?文件夹?没看懂...解决方案四:什么也不用管啊!~~直接打开网站就行了解决方案五:App_Code这个文件是放Class的解决方案六:不是自动转换的嘛解决方案七:菜啊!不过感觉楼上更菜比如:A