`
iMAG
  • 浏览: 1655 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

JS延伸到移动端,原生app开发的春天到了

阅读更多

随着HTML5和Node.js的流行,Javascript这门在互联网初期就已诞生的语言正迸发出勃勃生机,Javascript将前端和后端开发统一起来,“一切皆为JS”看起来只是时间的问题。唯一的障碍是在移动端,因为无论是Android还是iOS平台,当前仍是原生应用大行其道。HTML5曾经被寄予厚望过,但是以Facebook为代表的一批公司在移动端对HTML5技术进行实践的心酸血泪史表明,HTML5可以是原生应用开发的一种有效补充,但远不足以替代原生。但是现在,随着iMAG.js的渐渐流行,这种状况正在发生改变.
揭开iMAG.js这匹黑马的神秘面纱
iMAG.js是国内的爱码哥移动平台推出的Javascript移动跨平台开发框架,它的特点简单高效,同时又功能强大,可以用Javascript来替代原生开发。iMAG.js的原理和在服务器端运行的Node.js有些相似,都是封装了Javascript引擎,用Javascript去调用底层的API接口。不同的是因为移动应用的控件主要是UI模块、用户交互界面开发,iMAG.js为此引入了XML模板技术,XML和Javascript结合,这样很适合手机界面的展示。
下面我们来看iMAG.js是怎么做到替代原生开发,完成HTML5无法完成的事情的?
1、首先是封装原生UI控件。大家知道手机系统无论是Android还是iOS都有其自身的特色,而这些特色给用户最直观的感受就是用户体验,虽然Android和iOS的App可以在外观上设计得相似,但用户操作两下之后就能很轻易地区分出哪个是Android哪个是iOS。因此发挥系统本身最大功效最根本的做法就是尽可能使用原生UI控件,而iMAG.js框架中所有提供给用户的控件都是原生的,只不过是在上层封装了Javascript接口而已。比如说iMAG.js中的Label控件,在iOS上是调用系统的UILabel控件,而在Android上则是调用的TextView控件,这样在性能和用户体验上就能做到和原生应用完全一致。手机的CPU和内存等资源有限,原生控件在一些细节地方都是有针对性的优化的,比如Android ListView的复用机制,使用ViewHolder来重复使用View,以节省内存使用并且保持滚动的流畅性。同样地,iMAG.js很充分地利用了这些机制,以保证基于iMAG.js开发的App能够和原生App同样操作流畅。
2、其次是统一的开发框架。不同于 HTML5上开发框架纷乱的状况,基于iMAG.js为移动开发量身定做的API,你会始终感到很顺畅,iMAG.js的开发者最直观的感受就是这个框架就是为移动开发准备的。在学习掌握了一个iMAG.js控件之后,即便不看文档,开发者也能大致猜到其他控件怎么用,这得益于iMAG.js良好的设计和封装。iMAG.js框架支持XML模板技术,这样所有的UI控件都可以用XML的方式来书写,开发得到了相当程度的简化。就像搭积木似的,即便是不懂技术的人,也能利用iMAG.js快速搭建出自己想要的App原型,将自己的想法直观地呈现给客户。除了静态界面的展示,与用户交互也是重点。比如说跟后台数据库相结合,界面数据都是来自数据库的动态数据,用户输入的数据能够以同步和异步的方式入库。而所有这些动态的东西,在iMAG.js中都可以通过Javascript脚本来完成,Javascript本身就是一门具有高度扩展性的动态脚本语言。
3、iMAG.js同样适合开发大型的App项目。一个大的开发团队,除了有开发人员,还有专业的产品经理,专业的美工,专业的测试,成员之间彼此分工协作来完成项目。在精密的分工协作下完成的App通常是一个UI界面很精确的东西,比如美工根据设计做的图,通常是精确到像素的,文字的字号多大,文字图片之间的间距多少都是严格定义的,不能只是一个大致差不多的东西。iMAG.js通过css样式来控制这些内容,实现UI元素的精确布局,而且充分考虑到了手机屏幕大小的不规则性,能对不同平台不同屏幕大小的手机进行自动适配,让跨平台开发变得更容易。在兼容性方面,由于iMAG.js框架自身对Android和iOS平台良好的兼容性,真正做到了一次开发多处运行,避免了类似于HTML5开发上出现的由于内核的不同在不同手机上展示不一致的情况。再就是iMAG.js提供了离线应用和在线应用两种模式,习惯了web后台开发的开发者可以很轻松地切换到在线应用这种模式下,因为这根本就和开发网页一样。
4、功能也是用户关心的,到底能有多少种UI展示效果,有多少种手机能力可用,决定了APP开发能够达到的层次。iMAG.js框架本身已经封装了上百种原生控件,比如TextView, ListView, UIScrollView, UITableView这些,支持电话、短信、定位、蓝牙、通讯录等几十种手机能力的使用,而这些本地功能调用都相当容易,比如:$phone.call(‘10086’)表示拨打这个电话。当然iMAG.js本身提供的功能再丰富也有不够用的时候,因为移动开发常常会面对一些复杂的场景,比如多人视频会议,不仅复杂可能还需要跟底层特定硬件结合。幸好iMAG.js是一个跟Node.js类似的东西,Node.js作为后起之秀能够迅速走红很大程度上得益于良好的扩展性,iMAG.js也是一样,iMAG.js支持原生插件,所有“不够”的能力,都可以通过原生插件的方式来实现。如果你想实现一个视频会议的插件,那么可以通过$phone.plugin(‘MyVideoMeeting')来调用你自己用原生代码实现的视频会议模块,这里MyVideoMeeting是一个在爱码哥平台发布的插件代码。当然你其实并不需要自己专门去开发一个视频会议的模块,因为这种功能模块往往是现成的,你只需要向第三方购买相应的SDK即可。
5、前面介绍了iMAG.js看起来比较“酷”的地方,但你可能还有疑虑:既然这么高大上那我用iMAG.js开发一个微信怎么样?iMAG.js努力的方向是能够完全替代原生App的开发,即便是使用原生来开发也是以插件的形式集成进来,这样模块都是可以复用的,因此用iMAG.js来开发微信类的应用是完全可行的,并且官方已经有这样的案例。因此iMAG.js提供了一种方式,能够将Javascript语言引入到移动端,并且通过插件化模块化的方式将移动领域各种原本分散的解决方案打包成一个整体呈现给开发者和企业,让企业能够通过爱码哥平台快速实现移动化。
0
3
分享到:
评论

相关推荐

    “互联网 ”背景下的移动端原生广告及其未来发展——以“抖音”短视频APP广告为例.pdf

    "互联网背景下的移动端原生广告及其未来发展——以“抖音”短视频APP广告为例" 在“互联网+”背景下,移动端原生广告逐渐成为广告行业的热点话题。随着移动互联网的普及和发展,移动端原生广告也随之诞生,并逐渐...

    APP.js 简单的移动端App应用

    App.js 是一种专为快速开发iOS和Android移动端应用的框架,它采用Hybrid技术,结合了原生应用的性能与Web应用的便捷性。通过App.js,开发者可以利用JavaScript语言进行跨平台开发,从而节省时间和精力,提高开发效率...

    移动端日期插件,原生js实现

    可在小程序、h5页面中使用 详细介绍请看https://blog.csdn.net/a805492851b/article/details/115072387?spm=1001.2014.3001.5501

    移动端原生 jquery 时间滑动插件

    在移动端开发中,用户界面的交互性和用户体验是至关重要的,特别是在涉及到日期和时间选择时。"移动端原生 jQuery 时间滑动插件" 提供了一种高效且直观的方式来处理这一任务。这种插件允许用户通过滑动操作来选择...

    移动端原生js选项卡

    在移动端开发中,原生JavaScript实现的选项卡(Tab)组件是常见的用户界面元素,它用于展示有限的空间内切换不同的内容区域。本文将深入探讨如何使用JavaScript,特别是针对移动设备的特点,来创建一个高效、响应式...

    移动开发app

    根据给定的信息,“移动开发APP”主要涵盖了三种类型的技术:原生开发技术(Native app)、网页开发技术(Web app)以及混合开发技术(Hybrid app)。本文将详细介绍这三种技术的特点、优缺点,并进行一定的对比分析...

    ecology 移动端流程自行开发指南.docx

    《移动端流程自行开发指南》是一份详细指导文档,旨在帮助开发者在移动端进行流程自定义开发。这份文档由 Weaver Software China 上海耀华支路泛微软件大厦发布,提供了关于流程开发的重要信息,包括系统运行要求、...

    仿今日头条移动端H5APP页面

    这是一个针对移动设备优化的Web应用程序,采用HTML5、CSS3和JavaScript技术构建,旨在提供与原生APP相似的用户体验。这样的H5页面通常用于快速开发轻量级的移动应用,无需用户下载安装,只需通过浏览器访问即可。 ...

    使用vue开发移动端app 持续更新中

    4. **Vue项目打包成移动端APP**:当你完成了Web App的开发,你可以进一步学习如何将其打包成原生的移动端应用,例如通过HBuilderX的云打包服务。 Vue CLI的中文文档是另一个宝贵的资源,它详细介绍了如何使用这个...

    基于移动端APP的商场管理系统研发.pdf

    作者岳文波分析了移动端APP的开发技术和主要功能,并以此为基础构建了一个商场管理系统的实现过程。 首先,文章介绍了移动端APP的主流开发技术。原生APP(Native APP)虽然提供最佳性能,但由于开发难度和成本较高...

    zx-editor 移动端(HTML5)富文本编辑器,可与原生App混合(hybrid)开发

    - `js`目录:包含编辑器的JavaScript代码,可能有主逻辑文件以及相关的插件或辅助函数。 - `css`目录:存放编辑器的样式表文件,定义了编辑器的外观和布局。 - `libs`目录:可能包含了编辑器运行所需的一些库文件,...

    即时通讯APP源码 IM原生APP高仿微信全源码无加密

    总的来说,这款“即时通讯APP源码 IM原生APP”是一个全面的学习资源,涵盖了从原生移动应用开发到即时通讯系统的完整流程,对于提升开发者的技术能力和实践经验具有重要意义。通过深入研究和实践,开发者不仅可以...

    移动端日历calendar-原生js

    本项目名为“移动端日历calendar-原生js”,它完全基于JavaScript(不依赖任何第三方库)来实现,提供了丰富的功能,如左右滑动、左右点击切换以及人数计算。以下是对这个日历组件的详细解析: 1. **原生...

    移动端原生css模态框

    在移动端开发中,为了提供良好的用户体验,我们常常需要使用到模态框(Modal)和提示框(Alert)等元素。这些组件通常用于显示重要信息、用户确认操作或进行多步骤流程。本文将深入探讨如何使用原生CSS实现移动端的...

    移动端流程自行开发指南.docx

    - 推荐使用jQuery进行DOM操作,避免使用原生JavaScript,以减少错误。 ##### 3.3 字段获取方式 - **字段值获取**:通过字段ID获取字段值,例如使用jQuery(`"#field" + fieldid`).val()。 - **明细行数相关参数获取...

    原生APP开发公司浅谈原生开发、H5开发与混合开发的区别.pdf

    "原生APP开发公司浅谈原生开发、H5开发与混合开发的区别.pdf" 在移动应用开发领域中,开发模式的选择对应用的性能、用户体验和开发效率都有着至关重要的影响。原生开发、H5开发和混合开发是当前市场上三种主流的...

    (完整word版)原生APP和Web-APP开发对比.doc

    【原生APP与Web-APP开发对比】 原生APP(Native APP)是专门为特定移动操作系统(如iOS的Objective-C或Swift,Android的Java或Kotlin)编写的应用程序,可以直接访问设备硬件,提供流畅的用户体验。它们可以离线...

    一个基于原生JavaScript开发的移动端省市县三级联动插件

    本文将详细探讨基于原生JavaScript开发的移动端省市县三级联动插件,这种插件能够帮助开发者实现高效、流畅的地理位置选择功能。 首先,我们要理解什么是“三级联动”。在地理位置信息中,通常分为省(省份)、市...

    麻花视频苹果CMS源码原生APP源码+教程

    2. **原生APP开发**: 这里提到的“原生APP源码”,意味着用于iOS平台的Objective-C或Swift语言编写的APP,而非混合或Web封装的APP。原生APP具有更好的性能、流畅度和用户体验,能够充分利用设备硬件,提供更佳的...

    Ionic移动端app开发案例.zip_ionic_ionic app案例_ionic 开发

    总的来说,通过这个“Ionic移动端app开发案例”,我们可以学习到如何在 Ionic 应用中有效地实施分布式懒加载,以及相关的性能优化策略。这不仅能够提高应用的启动速度,还能确保用户在使用过程中获得流畅的体验,是...

Global site tag (gtag.js) - Google Analytics