zoukankan      html  css  js  c++  java
  • [javavscript] 手把手教你用javascript开发MAC Dashboard应用

      大家也需对windows 8上可以用javascript开发Metro 界面的netive app有所了解。其实osx上也提供了类似的功能, OS X v10.4 Tiger发布时提供了一个Dashboard应用程序,用户可以自定义添加widget应用小程序。用户可以通过f4热键,方便的启用Dashboard。不得不说一下,Dashboard也是大名鼎鼎的canvas技术的发源地

      运行在Dashboard中的小程序,完全使用HTML,DOM,CSS,javaScript技术,因此可以说这些对前端工程师完全没有难度。APPLE也提供了开发IDE,Dashcode。

      

    Part1 IDE简介

    1.访问https://developer.apple.com/ 如果有apple ID登录 后访问https://developer.apple.com/downloads/index.action

    可以看到有很多开发者工具,搜索Dashcode下载。新版本的Dashcode只能运行于Lion系统上,这点需要注意,下载安装之。

    Dashcode秉承了Apple软件的风格,简洁易用。

    2.创建一个项目选取Dashboard自定义。默认会生成以下默认文件

    左侧面板

    第一栏:为本widget的名称,front是在Dashbord中该widget的默认面板,back则对应点击front面板右下角的i图标翻转后的面板。两个面板可以不同样大小。

    第二栏:

      widget属性:可以配置weigth的元信息,数据和访问网络等能力。

      默认图像:  对应背景图片,可以使用外部工具编辑,或者导入图片。

      widget图标:图标则对应在Dashbord widget管理中的图标。

      运行与共享: 可以设置对系统的要求等。

    第三栏:为软件生成的文件和SDK文件。开发者可以自己创建css,js文件。main.html则类似web站点中的index.html

    3.工具栏中的按钮

    运行:可以及时调试widget

    显示:可以控制显示项目。

    检查器:选中试图中的元素后可以用这个面板配置元素的id class css属性和事件函数(onclick)不过建议开发者用dom绑定事件。

    资源库:提供一些UI空间,和js快捷代码。

    工作区

    上半部分为试图;下半部分为编辑区域不过会随选中文件变化。

    part2

    下面让我们看看如何开发一个Dashboard应用万年历。脚本代码使用前几天的帖子使用的代码

    [javascript]简单 方便 易折腾的日历控件,纯javascript支持链式语法,核心代码只有5行

    环境和我们开发web中的项目完全是一样的,没有任何学习成本。console API也提供了支持,alert的信息会在日志中显示。

    1.创建一个自定义widget项目,别忘了实时保存否则后悔莫及。软件会生成一个扩展名为.dcproj为扩展名的文件。 删除软件生成的结构代码添加结构。

    代码如下

    <body onload="load();" apple-part="com.apple.Dashcode.part.StackLayout">
        <div id="front">
            <div class="apple-no-children" id="info" apple-part="com.apple.Dashcode.part.infobutton" apple-default-image-visibility="hidden"></div>
            <div id="cal"><h1></h1></div>
        </div>
        <div id="back">
            <img id="backImg" src="Parts/Images/back.png" alt="" apple-locked="true" apple-part="com.apple.Dashcode.part.backimage" apple-style=" image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.1500,0.1500,0.1500; image-border- 3; shadow-include-shadow: 1; shadow-blur: 9.00; shadow-offset: -1.00,-6.00; shadow-color: 0.0000,0.0000,0.0000,0.3333;">
            <img src="Images/DevelopedWith.png" alt="Created with Dashcode" id="backDevelopedWith">
            <div id="done" class="apple-no-children" apple-part="com.apple.Dashcode.part.glassbutton"></div>
        </div>
    </body>
    

    2.修改样式表main.css,试试使用运行检查修改效果。值得一提的是,该软件会自动把使用的图片拷贝至项目中的Image文件夹中太贴心了。

    样式表没有什么好说的。

    3.添加行为代码。

    使用DOM侦听器为元素绑定事件,啰嗦一下行为,结构,表现分离。

    首先把开发好的Cal类拷贝进来,接下来开发逻辑代码。

    a.默认main.js是在head标签中引入的,所以我们为domready注册事件,以便能用dom访问元素。

    document.addEventListener('DOMContentLoaded',function(){
    }.bind(document),false);
    

      

    b.接下来声明变量,应该没有什么好说的,大家都能看的懂。

    var d=new Date,Y=d.getFullYear(),h1=this.querySelector('h1'),p=this.querySelector('#cal'),i=12;
    

      

    c.生成12个日历实例,添加到相应节点中。依然没啥好说的

      

            h1.innerHTML=Y+'年';
    	for (; i--;) {
              //console.log(12-i);
              Cal(p, {Y:Y, M:12 - i, hasTitle:'false', hasFoot:'true'});
            }
    

    使用运行发现运行良好,现在到了把项目部署到实际环境Dashbord中了,激动人心的时间到了。

    文件》部署 或者 alt +command +s;第一次部署的话,软件会为你导出一个iCals.wdgt的文件。想全新安装widget一样,系统会提醒你安装,确定之后自动进入Dashboard,看看成果。

    上面为系统提供的iCal,下面的为自己开发的iCals。

    下面进入收尾工作,为iCals添加一个图标

    看看图标在Dashboard管理界面中的表现。

    怎么样,还不错吧。

    apple developer网站还提供了更多的模板,大家可以下载导入使用。

    总结:

      可以看的出,开发Dashbord widget完全没有任何成本,只是使用Dashcode把文件打包而已。只要自己愿意完全可以开发出很多很有意义的widget。使用Dashcode还可以开发safari插件,ios应用。如果有好的模式相信也可以变现。

     

  • 相关阅读:
    hadoop优点和缺点
    HDFS的基本shell操作,hadoop fs操作命令
    HDFS的java操作方式
    HDFS的体系结构和操作
    windows主机无法访问服务器
    用公共key实现无密码ssh
    hadoop2的伪分布部署
    lsof/fuser卸载挂载文件
    编译Apache Hadoop2.2.0源代码
    三十分钟掌握STL
  • 原文地址:https://www.cnblogs.com/enix/p/2580816.html
Copyright © 2011-2022 走看看