桌面应用程序员简单尝试Rich JavaScript Application

则10年前为过一段时间的Web应用开发,且也四处企业计划性了一个根据ASP.NET
WebForms(在.NET
1.1之底蕴及)的Web应用开发框架。但是,后来一直开的还是桌面类的利用,比如SmartClient,基于Silverlight的RIA,甚至到如今,我们企业之成品就是是一个纯客户端的单机WinForms应用。所以,我当是一个彻彻底底的桌面应用程序员了。已经非常悠久不碰JavaScript这样的物了。

从今哪开始说为,这几年微软的技巧一直在换,像是牟足了强使累所有的NET程序员,从WebForm到MVC到现行MPA、SPA
、Razor单页,从net2.0直走至现在.net4.6.2,后面还有一个Core在抵正爬。唉,不知多少net程序员死在沙滩及,又来稍许net程序员转行送了外卖!

漫天技术行业,从传统的单机应用到一块儿以,然后Web应用,爆发式的位移应用,然后还要开始了叙计算,又来了微服务,还有数遵照、AI人工智能。还有微信自己为起了扳平切片天地叫做微信支付(不掌握是不是这个名字)。前端也是自无到有,从一个写破脚本的顶现之遍地前端大神。加上UI设计师、UE设计师等等,看似繁花似锦的唐宋盛世一样。

望好,在及时热闹非凡盛世依然将在从狗棍等正在丐帮帮主传授不不世武功,等来齐去回顾只见面打狗。有私心换个门庭投靠个好点的门派,试想这么长年累月苦练打狗棍,换了该用匕首或者大刀,完全不是一个套路,少林棍法听说也无可非议,可是有清规戒律怕不适于,人尽了恐就是这么了只能老实的混吃等非常吧。

同样积废话,昨晚睡太晚,脑子一切开乱糟糟,不知所言。

日前开针对JavaScript感兴趣的缘由,不外乎下面几乎只:

言归正传,最近做项目,原来的种类是使用WebForm做的,想当年也是自VS2005发端称的实行,但是后来产生矣MVC用了MVC以后再次惦记回去WebForm开发的确挺难的。然后便同长官说了下想法,领导非常有风采,不管过程如何,只要功能实现即可。然后便乐呵的于协调开了单坑埋了。带在组织成员开始了no
zuo no
die的旅程,其实重要是本人的压力大些,负责后端数据提供,还有管理职能的页面实现。

  • 日前1年Node.js的绝火热,想深入了解一下,尤其Azure(及WebMatrix)对Node.js强力支持更加加剧了我之志趣;
  • ASP.NET
    MVC中置放了一个MVVM的JavaScript库——KnockoutJS,想了解为何微软对KO情有独钟;
  • Windows 8
    App可以使用JavaScript和HTML5来开发,可见就算是桌面应用,JavaScript未来吧有用武之地;
  • 微软推出了TypeScript,以及之前微软不官的Script#,还有CoffeeScript的让持续关注,都认证人们愿意因为进一步简便易行的法门来以JavaScript开发大型更加Rich的应用程序

自从MVC 1开始关注,MVC
3照在musicshop的例子做了一个demo,到今天MVC5,一直有关流动,真正的使用大概发生两三年左右,还是穿插加杂,因为工作直接就此企业由发生研发平台,理清工作就是开转、复制粘贴、调试发布、测试高达丝。尤其有的企业将一学东西了和生条件下技术栈格格不入的上,对商家是大妈的利好(效率高、安全),对于私有来说,差不多就是是百害无一利,唯一可能就是大半矣成千上万业工作上的积聚。好了拉家常多矣。

自我做的大概尝试的情景如下:

根据各种原因(其实就是是乘兴而来蒙头干活,没有抬头看看路),想着拿此路蒙之有模块抽离出来单独的盘整总结,包括前端后端整个的兑现过程,省之事后还上种的连年看哪都熟悉,就是记不清怎么写~

  • 合作社官网用php构建的,对php不是极致熟悉,也未思去对旧网站框架做调整;
  • 店铺博客基于wordpress构建
  • 要在官网被自行显示博客的摩登篇章列表

 

由于之前曾经开始学习Knockout的事物,所以昨控制依据KO来实现上述情景,这好说凡是对KO的一点事实上尝试。具体做法如下:

请求小心,下面才是本文

  1. 在wordpress中安装feed json插件,暴露json的接口
  2. 始建一个html文件部署到网站到底目录
  3. 在官网中创造一个栏目块(支持从定义HTML),在中间插入iframe元素,指向上面的html文件。之前尝过在HTML中直接实现代码,但是由jQuery版本会冲突,所以改用iframe。

类需要抽离的法力叫做在线考试

以此简单应用程序的HTML文件如下:

由来:网上类似没有怎么有人演示了这个,同时就同一片的表现的始末跟复杂度也基本满足大部分型

<body>
    <div>
        <div data-bind="foreach: blogs">
            <p>
                <a data-bind="attr: {href: $data.permalink, title: $data.title}" target="_blank">
                    : 

                </a>
            </p>
        </div>
        <a href="blog" title="More" target="_blank">More</a>
    </div>
    <script type='text/javascript'>
        function Blog(data) {
            this.title = ko.observable(data.title);
            this.permalink = ko.observable(data.permalink);
            this.date = ko.observable(data.date.substr(0, 10));
        }

        function BlogViewModel() {
            var self = this;

            self.blogs = ko.observableArray([]);

            $.getJSON("/blog/?feed=json", function (allData) {
                var mappedBlogs = $.map(allData, function (item) { return new Blog(item) });
                self.blogs(mappedBlogs);
            });
        }

        ko.applyBindings(new BlogViewModel());
    </script>
</body>

利用技术:

上面HTML文件分作两个组成部分。第一个组成部分即使用来展示界面的HTML,第二片凡是实业对象的概念跟获取数据执行绑定的JavaScript代码。

  • ASP.NET MVC 5
  • ASP.NET Web Api
  • Entity Framework 6
  • jQuery+bootstrap
  • 与各种网上拼凑的插件

当率先有些被,由于采用了MVVM思想之绑定机制,对于自而言是不行熟悉的,这个与XAML没有尽多分。

含功能:

仲部分受,首先使jQuery获取JSON数据并易为可绑定的JavaScript对象(这里确确实实简单的为自己深感惊喜),可绑定是由此ko.observable来促成之;然后于ViewModel对象中提供一个不过绑定的数组属性被界面(即blogs属性)。

  • 试题库管理
  • 课题管理
  • 试卷管理
  • 考查管理
  • 在线考试
  • 成绩发布
  • 考试统计

上述意义虽然简单,但是自己觉得曾触动到了所谓Rich JavaScript
Application或微软号称 Scale JavaScript Application的贯彻途径了。即:

其中写道的凡没有开发之,其余的早已开发出了,就顶着在提出了

  • 使jQuery这样的框架来简化DOM的操作
  • 下KnockoutJS或者AngularJS这样库或者框架来简化数据见,行为处理
  • 使用CoffeeScript或者TypeScript来简化JavaScript的编写
  • 出好跨浏览器运行的纯客户端应用,也存有和劳动端的相能力(一般根据RESTful),这样的运用拥有优秀的交互性,可以做到复杂的数据控制。

 

此处来同等首参考文章,值得一读:

以上功能外,还包含

Rich JavaScript Applications – the Seven Frameworks (Throne of JS, 2012)

  • 公用仓储库房
  • 依傍注入
  • 简单的权限管理

 

现阶段型好后为主满足客户的需要,一般项目之目标是客户满意,实际是客户永远不见面差强人意,手段便是被客户尽快的拓展产品互和心得,针对该急需迅速迭代。

 

大体就这么,想起什么还上,把计划记录和是,以此文督促团结赶紧作总结。

发表评论

电子邮件地址不会被公开。 必填项已用*标注