移动应用开发技术过多,该如何做选择

随着互联网创业的持续升温,市场对于移动应用开发的开发者需求也供大于求,对于移动端开发工具技术也五花八门,大致分为三大类,第一种就是纯原生开发,纯原生app固然很好,但是其学习成本高,开发周期长,打码量多,一般对于融资后的企业比较试用,另一种就是这两年比较火的web app,一般是通过HTML5 开发从而封装而实现的,众所周知web app过分依赖网络,渲染性能较弱,标签太多代码量也不少,web app只能说是一个临时解决方案,今天我们仔细说说第三种方案,在众多开发工具和平台中之所以选择他是因为不用原生方式开发也能带来流畅的原生体验。Xml和JavaScript的完美结合打破了常规原生APP的开发方式,这种方式不仅带来了代码量相对极少的优点,同时编辑一次适用于Android和iOS系统,虽然iOS端对比Android不是很成熟,但随着爱码哥5.0的即将发布,这些问题相信也随之迎刃而解。

下面我们来看一下具体demo的开发过程

之前和大家分享过订餐新闻仿微信APP的源码,相信大家都有所了解,这些APP的demo都是用imag.js开发的

由于之前开发过预约订餐的demo,想着也可以试试预约住宿的APP,如果要重新设计很麻烦,而且也只是想搞一个demo,并不发布上线,就在应用商店里搜寻到一个很新颖的应用,仿照着做。找到我们的UI美女把全部的图片切给我,接下来就是开发了。

在imag.js中像素的默认单位是dp,文字的大小只要写数字即可。

由于APP中的图片特别多,加载慢,所以并没有把图片直接放到资源里,而是以json格式编写图片上传到模拟数据中,容易调用。使用imag.js调用客户端信息功能$phone.info(),可以获取手机屏幕的信息参数,方便调整像素比例。

其中一个页面使用了侧滑菜单控件slidingmenu来完成信息导航(如下图)。SlidingMenu定义了两个item,第一个item一开始是隐藏的,当点击左上角按钮时调用open()方法显示侧滑菜单,当然,SlidingMenu本身就带了滑动的效果,右滑就可以响应出侧边栏。如果使用原生的话,Android倒是提供了HorizontalScrollView,虽然不用手动处理各种冲突,但也要了解事件的分发机制。

下图使用了弹出菜单控件popupmenu,内容填充部分一个列表list搞定,可以自己设置list的背景,边距,文字颜色等样式。

上图中的产品类型选择由上拉菜单控件 actionmenu展示,ActionMenu控件用来显示iOS ActionSheet风格的上拉菜单,风格固定,不能自己定制背景和样式,并且只能通过JavaScript脚本动态创建。效果图如下

下面的几张效果图相对来说就很简单了,大多数布局都是用的list控件实现的,跳转页面使用onclick="$page.open(’’)"方法。个别页面加入了screen控件来展示多组图片。

下面的代码是最后一张图邀请好友的源代码

<?xml version="1.0" encoding="utf-8"?>
<imag>
    <page>
        <title style="background:#ffffff;height:52">
            <left>
                <icon src="back_gray.png" style="margin-left:20" onclick="$page.close()"/>
                <label style="font-size:18;color:#3a3a3a;margin-left:32">邀请好友</label>
            </left>
        </title>
        <content style="background:#f5f6f5">
            <list type="transparent" style="padding:0 18">
                <item style="padding:0;margin-top:27">
                    <row><button style="background:#ff5a5f;height:44;width:100%;font-size:15;color:#ffffff;align:center;padding-top:2">邀请联系人</button></row>
                    <row style="height:15"></row>
                    <row>
                        <label style="color:#c8cbc6;font-szie:15;align:center">————————</label>
                        <label style="color:#727a7e;font-szie:15;align:center;margin:0 10">或</label>
                        <label style="color:#c8cbc6;font-szie:15;align:center">————————</label>
                    </row>
                    <row style="height:12"></row>
                    <row><label style="color:#4d5153;font-size:13;align:center">分享链接</label></row>
                </item>
                <item style="padding:15 0;col-width:*,3,50">
                    <col><row><button style="background:#ffffff;height:44;width:100%;font-size:15;color:#f474b4d;align:center;padding-top:2">分享到微信</button></row></col>
                    <col></col>
                    <col><row style="height:44;background:#ffffff"><icon src="share.png" style="align:center"/></row></col>
                </item>
                <item style="margin-top:15;padding:0 0 44">
                    <row style="background:#c9ccc7;height:1"></row>
                    <row style="height:30"></row>
                    <row><label style="font-size:15;color:#7a8286;align:center">您有旅行基金即将到账</label></row>
                    <row><label style="font-size:15;color:#ff4c51;align:center">查看过去的邀请</label></row>
                </item>
            </list>
        </content>
    </page>
</imag>

更详细的源码

时间: 2024-09-28 18:53:01

移动应用开发技术过多,该如何做选择的相关文章

学习软件开发技术需要注意什么?

现在网络时代已经脱不开计算机,在智能化的时代掌握软件开发技术是必不可少的,因为这个行业是比较有发展前途,选择岗位空间大,缺失很多这样的人才. 随着互联网的急速发展趋势,传统的行业结构开始不断推进,选择的行业将有许多缺失的软件开发岗位,学习更多的更深层次的软件开发技术是随着时代不断推进的选择. 那么在学习软件开发技术上有什么注意的呢?中安云城为大家分析一下: 1.掌握软件开发技术的知识,以及各方面的实用性,掌握了最基础的知识外,将软件开发的门槛不断提升,这样对自己的成长帮助才会比较有效果,一个软件

区块链开发技术路线选择的思考(之一)

现在整个技术社区的注意力主要还是在 Web 和移动开发上面,相关人才供销两旺.不过个别有心人已经开始转向大数据分析.深度学习.VR/AR 这些前景看好的技术.最近几个月区块链非常火,所以也有极少数开发者在关注区块链的开发技术. 应该比较客观的看待现在区块链的这一把火.目前无论在中国还是在国外,讨论区块链最积极最热闹的主要是政府官员.金融政策研究者.技术未来学家和学院派学者,跟他们相比,真正在写代码的人发出的声音很小.官员们重视,说明这个技术的潜在影响力巨大,学者重视,说明还有很多技术问题有待解决

JavaWeb开发技术基础概念回顾篇

第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第一次请求某个JSP文件时,容器首先检查JSP文件的语法是否正确,然后将JSP文件转换成Servlet原文件,并调用Java工具类将Servlet原文件编译成字节码文件.接下来,容器加载转换后的Servlet类,实例化一个该类的对象处理客户端的请求,请求处理完成后,容器将HTML格式的相应信息发送给客户端,执行过程如图所示: 3.JSP的

计算机三级嵌入式开发技术

一单项选择题 1. 世界上第一台计算机研制成功的年代是( C ) Α.1944年 B.1945年 C.1946年 D.1947年 2. 十进制数235,用二进制表达为( A ) Α.11101011 B.11101010 C.11101001 D.11101110 3. ARM采用定长指令格式,所有指令都是32位,Bit[31:28]为( B ) Α.目标寄存器编码 B.条件执行 C.指令操作符编码 D.永远是0 4. 8080处理器是( C ) Α.32位处理器 B.16位处理器 C.8位处理

混合模式为什么成为占有率最高的app开发技术

在企业移动战略布局中,app已成为连接业务与用户最主要的载体,同样其开发技术目前也处于十分成熟的阶段,而从技术实现的角度去考量,很多从业者可能并不知道,越是大企业.越是IT预算多的企业,他们的移动app大部分是基于混合开发模式实现的,尤其对于混合app技术开发的B2B.B2C和B2E类型的移动应用,占比甚至要远超市场的预期和想象. 目前,在各大银行.保险公司.烟草.电力.航空.铁路.家电制造.食品.零售等行业的领军型公司中,都大量的使用混合开发模式来开发和管理自己的app.那么也许很多人不禁要问

Android开发技术周报183学习记录

Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了轻微的耗时操作,导致ui线程卡顿. 2.layout过于复杂,无法在16ms完成渲染.使用RelativeLayout替换LinearLayout,说是可以减少布局层次,然而,现在不再建议使用RelativeLayout,因为ConstraintLayout才是一个更高性能的消灭布局层级的神器.Co

手游服务器开发技术详解

从事游戏服务器开发差不多两年时间,两年间参与了不少项目,学到了很多游戏服务器开发技术,参与过几个不同架构的服务器开发,就随便聊聊游戏服务器开发需要的技术.(以下所指游戏服务器更偏向于手游,因为我对端游和页游开发接触并不多) 一.聊聊服务器开发有哪些东西要考虑. 1.开发语言的选择: 工欲善其事,必先利其器,选择一门适合的开发语法对后期开发有着事半功倍的作用. 业界主要的是c/c++ + Python/lua模式做游戏服务器.c/c++做网络通讯数据传输,python/lua做业务逻辑.这样既保持

读书笔记--大规模web服务开发技术

总评   这本书是日本一个叫hatena的大型网站的CTO写的,通过hatena网站从小到大的演进来反应一个web系统从小到大过程中的各种系统和技术架构变迁,比较接地气. 书的内容不是很难,所以总的来说比较容易阅读,不需要特别累的啃,可想而知,不是非常深入的,更多的还是把作者的一些经验写出来,hatena这种量级的在国内应该是一个中型网站的水平,作者基本把这个量级web服务的运维的方方面面都讲了一遍,看完可以对这个这种量级网站有一个总体的了解,个人认为还是值得一读的. 逐章读书笔记: 第一章 大

ebay的api的开发技术笔记,有点乱

使用eBay API基本步骤介绍 要开始使用eBay API,需要如下基本步骤: 1.    注册开发帐号: https://developer.ebay.com/join/Default.aspx 2.    选择API类型: eBay有大约6种API 开发语言,例如.net和Java的SDK http://developer.ebay.com/products/trading/ http://developer.ebay.com/products/overview/api-by-featur