本人是是个前端小白,学前端已经有半年的时间了,前几天开了个博客,希望记录自己学习历程的点滴。

  今天要写的是关于用html,css,javascript等web技术开发原生的app应用。

  总所周知,web所写出东西的性能一直被人饱受诟病,这个也是做web开发会一直被轻视的原因之一,那么怎么用web技术开发出较好的有原生一般体验的应用呢?原生的应用开发成本高,而且更新周期短,这就需要用户不断的更新才能使用到原生App的一些新的功能和特性,试想一下,一般的我们的手机安装的应用都在10个以上,那么每隔一小段时间就会有很多消息提示你安装新的版本,这个对用户来说是很反感的一件事,但是用web开发的webApp所有的版本更新只需要在服务器端操作,客户端不会接受到任何信息。这个对用户来说无疑的大大增加了友好程度。原生的拥有近40W个api去调用操作系统各个组件,而web尽管发展了那么多年,但也只有可怜的7W多个API,而且有些还存在兼容性的问题。

  小小的分析了下(其实关于webApp还有nativeApp网上有很多对比,还有HybirdApp,这里就不在啰嗦,只讲个人的对这些的一点最大的体会)。

  再来说下实现。

  原生的App可以调用许多原生的Api,而且由于手机操作系统的支持,原生的体验要好很多很多,相比有webAPP的话,那结果是惨不忍睹。在IOS上还好,但是一放到安卓上,别说什么3D,旋转,大爆炸了,多开几个定时器,也会有稍微的小卡顿。(对为什么会这个样子,我个人还没有深入探究,大神勿喷)

  后面我尝试用了zepto,jquery moblie,效果都不太好。

  意外的看到了天朝的一家科技公司DColud公司推出一款交Hbuider的IDE,就下下来玩了下,发现还是很不错的,有提供移动设备的在线调试,不过要安卓4.4以上,还有强大的代码提示,可以高数你那些属性是那些浏览器支持(对于CSS来说),但是就是性能不是很好,对你的电脑还是有掉要求的额。DColud一直致力于HTML5的推广,他们在web峰会上推出了由他们公司的技术团队写了几个库,一个叫MUI的UI框架,风格据说是格局IOS7来做的,还有一个叫native.JS 库,这个就叼爆了,在web峰会上,DColud号称封装了原生的40多W个API,还优化过程,用web开发IOS和安卓是不在话下。我顿时就来了兴趣,去官网看了看官方的文档,但是很郁闷的是,在写出这么伟大的框架的公司,居然官方网站上没有一份详细的文档,而且人气iye很低,在百度和google上都收不到。我业界只能期望DColud快点给粗详细点官方文档,要不然,估计也就是昙花一现,唬唬人。

  不久前,又发现了一款叫Apache cordova的东东,还没深入去看,但是看完介绍,感觉和Dcolud差不太多,但是这个至少是有详细的官方文档解释的,而且知名度也还不错(vs2015上可以吧这个作为插件安装),只不过文档是英文的,要费点时间了,好了,今天就谈到这里,下次继续分享。。

  

  

用web技术开发出原生的App应用的体会(1)的更多相关文章

  1. Git使用总结 Asp.net生命周期与Http协议 托管代码与非托管代码的区别 通过IEnumerable接口遍历数据 依赖注入与控制反转 C#多线程——优先级 AutoFac容器初步 C#特性详解 C#特性详解 WPF 可触摸移动的ScrollViewer控件 .NET(C#)能开发出什么样的APP?盘点那些通过Smobiler开发的移动应用

    一,原理 首先,我们要明白Git是什么,它是一个管理工具或软件,用来管理什么的呢?当然是在软件开发过程中管理软件或者文件的不同版本的工具,一些作家也可以用这个管理自己创作的文本文件,由Linus开发的 ...

  2. web技术开发桌面应用

    三款前端工程师桌面应用开发神器! http://mini.eastday.com/a/160630023107669-2.html 如果我告诉你,以后你们可以用前端语言(html5+css3+js)开 ...

  3. .NET能开发出什么样的APP?盘点通过Smobiler开发的APP

    .NET程序员一定最熟悉所见即所得式开发,亲切的Visual Studio开发界面,敲了无数个日夜的C#代码. Smobiler也是因为具备这样的特性,使开发人员,可以在VisualStudio上,像 ...

  4. 用Web技术开发客户端(一)

    http://www.cnblogs.com/lefan/archive/2012/12/27/2836400.html 范怀宇(@duguguiyu)分享了<豌豆荚2.0重构时遇到的坑> ...

  5. 如何用Web技术开发Windows Form应用

    现在H5很热,很多互联网公司的产品都采用混合编程,其中各个平台客户端的“壳”为原生控件,但是内容很多都是Web网页,因此可以做出很多炫酷的效果.随着Node.js和Ionic等框架的出现,现在感觉Ja ...

  6. 【转】使用Xcode中的iOS SDK给iphone开发出第一个App程序

    之前已经折腾过用Xcode开发OS X的程序了,现在继续折腾,用iOS SDK开发移动设备(iphone/ipad/ipod touch)的程序. 1.从iOS Developer Library中找 ...

  7. .NET(C#)能开发出什么样的APP?盘点那些通过Smobiler开发的移动应用

    .NET程序员一定最熟悉所见即所得式开发,熟悉的Visual Studio开发界面,熟悉的C#代码. Smobiler也是因为具备这样的特性,使开发人员,可以在VisualStudio上,像开发Win ...

  8. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

  9. 成都app开发:架构一个App需要学会哪些技术呢?

    成都亿合科技小编为您分享: 随着APP应用的流行,越来越多的人想自己学习怎么开发APP应用,那架构一个APP需要学些什么技术呢?首先要了解App都有哪些类型,不同的类型适用于哪些需求,用户可以根据自己 ...

随机推荐

  1. Sass函数--字符串函数

    Sass的函数简介在 Sass 中除了可以定义变量,具有 @extend.%placeholder 和 mixins 等特性之外,还自备了一系列的函数功能.其主要包括: ● 字符串函数 ● 数字函数 ...

  2. 解决sql2008连接数据库,无法为该请求检索数据,错误916

    通常在使用sql server management studio 2008 连接数据库,可以链接上,但是无法查看自己的数据库,点击数据库或刷新数据库列表后,提示:无法为该请求检索数据,错误916,如 ...

  3. iOS_SN_UITableView的优化

    1.提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法. 2.异步绘制,遇到复杂界面,遇到性能瓶颈时,可能就是突破口. 3.滑动时按需加载,这个在大量 ...

  4. Java system.getproperty获取环境属性

    序号 属性 说明 1 java.version Java 运行时环境版本 2 java.vendor Java 运行时环境供应商 3 java.vendor.url Java 供应商的 URL 4 j ...

  5. 8 个实用的 Linux netcat 命令示例

    Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包.可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字. 这里我们将通过一些实例来学习 netca ...

  6. 转载:JSONObject简介

    转载网址:http://www.cnblogs.com/java-pan/archive/2012/04/07/JSONObject.html JSONObject简介   本节摘要:之前对JSON做 ...

  7. bug经验

    1.异常信息丢失导致定位问题困难. 2.findbugs工具 3.在某些if语句判断中return,可能会导致文件句柄无法关闭. 4.lastmodified()在win下和linux下的处理是不同的 ...

  8. 转载的别人的ajax跨域解决方法

    http://dynamic.vip.xxxxxx.com/active/<controllers>/<active>/<id> 放在浏览器地址栏中访问可以得到正确 ...

  9. 直播 linux上的第一个c++程序

    这里用crt来直播吧: 登录到服务器上之后: 1.mkdir -p 建一个文件夹 2.ll 查看一下这个文件夹 3.cd 进入这个文件夹 4.vim 进行文本编辑 写完之后,按下esc中止输入模式,用 ...

  10. epoll函数及三种I/O复用函数的对比

    epoll函数 #include <sys/epoll.h>int epoll_create(int size)int epoll_ctl(int epfd, int op, int fd ...