网络应用程序与原生应用程序的对比
先来定义一下什么是网络应用程序和原生应用程序,并了解一下它们各自的优势和劣势。
什么是网络应用程序
网络应用程序就是一个针对智能手机优化过的Web 站点。Web 站点上的内容无关紧要,
可以是一个标准小型企业的宣传册,也可以是按揭贷款计算器,甚至是一个每日热量消
耗记录的工具。一个网络应用程序定义性的特点是,用户界面(UI)是用网络标准技术
建立的,它能够通过一个URL(公开的,私有的,或者是需要登录的)访问到,而且针
对移动设备的特点优化过。一个网络应用程序并不安装到手机,不从Android 应用程序
市场里下载,也不是用Java 编写的。
什么是原生应用程序
和网络应用程序相反,原生应用程序被安装在Android 手机上,它能够使用手机硬件功
能(扬声器、加速度传感器、摄像头等),而且是用Java 编写的。它定义性的特点是能
够从Android 应用程序市场中下载。Android 应用程序市场是一个吸引全世界软件开发
者提交所开发的应用程序的地方,包括我在内。
优势和劣势
不同的应用程序针对不同的需求,有些相对更适用于网络技术。了解每一种方法的优劣,
将有助于做出更适合自己的选择。
原生应用程序的优势:
数百万的付费用户点击即可获得应用程序。
程序可以用到硬件上的所有新奇功能。
原生应用程序的劣势:
必须付费才能把你的应用放到Android 应用程序市场上。
你的应用程序只能在Android 手机上运行。
必须用Java 开发。
开发周期长(开发、编译、部署、迭代)。
以下是网络应用程序的优势:
网络开发者可以使用现成的工具。
可以使用现有的Web 设计和开发技术。
应用程序可以运行在任何有Web 浏览器的设备上。
可以实时修复bug。
开发周期短。
以下是网络应用程序的劣势:
应用程序无法使用手机硬件上所有新奇的功能。
如果希望收费,不得不推出自己的支付系统。
有些复杂的用户界面效果难以实现。
哪种方法最合适你
你一定会感兴趣下面的内容。Android 手机“永远在线”(always-online)的特点使得网
络应用程序和原生应用程序的界限不再明显。如果你愿意,有一些Android 浏览器鲜为
人知的功能(见第6 章),可以使一个网络应用程序离线使用。更好的是,有一些第三
方的项目,比如最受瞩目的PhoneGap,正在积极地开发一些解决方案,帮助网
分享到:
相关推荐
在Android开发中,JNI常用于提升性能、调用系统底层API或者实现与C/C++库的对接。本文将深入探讨如何在Android Studio中通过三种方式实现JNI开发,并对每种方法的配置和注意事项进行详尽的解释。 1. **使用NDK和...
第2章 Android开发环境搭建 2.1 Android开发准备工作 2.2 开发包及其工具的安装和 配置 2.2.1 安装JDK和配置Java开发 环境 2.2.2 Eclipse的安装与汉化 2.2.3 SDK和ADT的安装和 配置 2.3 创建第一个Android项目——...
通过《Android移动开发基础案例教程(第2版)》的深入学习,开发者不仅能理解Android开发的基本概念,还能通过实践案例提升自己的编程技能,从而在Android开发的道路上更进一步。这份资料将理论与实践相结合,是学习...
在Android开发中,底层开发通常涉及操作系统、硬件接口、驱动程序和系统服务等核心部分,这对于优化性能、解决复杂问题以及创新功能至关重要。以下是该书可能涵盖的一些关键知识点: 1. **Android系统架构**:了解...
本书针对Android开发者,尤其是对系统级开发有深厚兴趣的工程师们,旨在揭示Android系统的神秘面纱,帮助读者从更高层次理解和掌握Android开发。 Android Framework层是Android系统的核心部分,它为应用程序层提供...
《阿里巴巴Android开发手册》是Android开发者们不可或缺的参考资料,它汇集了阿里巴巴集团在Android开发领域的最佳实践和规范,旨在提升代码质量、优化开发流程、确保软件稳定性和性能。本手册覆盖了从编码风格、...
《30627-Android开发工程师案例教程(第2版)-倪红军-代码》是一本专注于Android应用开发实践的教程,由资深Android开发者倪红军编写。此资源包含了与教程配套的源码,旨在帮助读者通过实际操作来加深对Android开发...
《Android开发实例大全》是王东华先生撰写的一本深入浅出的Android应用程序开发指南,旨在帮助开发者通过实例学习和掌握Android平台上的编程技术。这本书覆盖了从基础到高级的各种主题,包括用户界面设计、数据存储...
高通的技术支持文档表明该公司在Android开发中扮演着重要的角色,特别是涉及到硬件层面的支持和优化。 **UEFI (统一可扩展固件接口)** 是一种现代化的个人电脑固件标准,旨在替代传统的BIOS。UEFI提供了更高级别的...
10. **第三方库集成**:许多开源库简化了Android开发,如Dagger2进行依赖注入,RxJava处理异步流,Butter Knife进行视图绑定。案例将展示如何高效地集成和使用这些库。 通过研究这60个案例,开发者不仅可以学习到...
### Android开发方式介绍 #### 1. Android SDK 开发 Android SDK(Software Development Kit)是Android官方提供的软件开发工具包,主要面向Java语言开发。它包含了开发者所需的各种工具、库文件和文档,以便于...
- **Eclipse with ADT Plugin**:早期Android开发的主要工具,虽然已被Android Studio取代,但在某些特定情况下仍可能被使用。 ##### 2. 安装Java Development Kit (JDK) - Android开发基于Java语言,因此需要安装...
《Android开发帮助文档中文版》是一份非常宝贵的资源,它为开发者提供了全面的Android平台开发指导,涵盖了从基础概念到高级特性的全方位讲解。这份文档是2016年12月21日的最新版本,确保了内容的时效性和准确性,...
Android开发之旅:HelloWorld项目的目录结构 2 Android开发之旅:android架构 3 Android开发之旅:应用程序基础及组件 4 Android开发之旅:应用程序基础及组件(续) 5 Android开发之旅:活动与任务 6 Android...
《Android开发实例大全 第2版》是一本专为Android开发者准备的实践指南,全面涵盖了Android应用开发的各种核心技术和实战技巧。这本书旨在帮助读者通过实际案例深入理解Android平台的开发过程,提升开发技能。 首先...
《Android SDK 中文开发文档》全面解析 Android SDK(Software Development Kit)是为开发者提供的一套工具集合,用于创建、测试和调试Android平台上的应用程序。这个文档主要面向使用Java语言进行开发的程序员,...
《Android开发艺术探索》这本书是Android开发者们非常推崇的一本技术书籍,它深入浅出地讲解了Android开发的各种技术和实践。这份"《Android开发艺术探索》源码.zip"压缩包包含的是书中所有章节的源代码,这对于学习...
《Android开发笔记全集》是一份综合性的学习资源,涵盖了Android应用开发的多个核心领域,旨在帮助开发者系统地掌握Android平台的开发技能。这个压缩包包含的文件名为“Android开发笔记”,暗示着它可能是一个系列的...
尽管具体内容未给出详细章节或摘要,但基于标题、描述及常见Android开发主题,我们可以推测书中可能涉及的重要知识点包括: ### 一、Android平台介绍 1. **Android操作系统概述**:解释Android操作系统的起源、...