应用程序开发 WebApp NativeApp 微信小程序
Web Native App 微信小程序
WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。webapp 框架是一种简单的与WSGI兼容的网络应用程序框架,可以与 App Engine 配合使用。不必为了使用 App Engine 而使用 webapp:网络服务器支持任何使用 CGI 的 Python应用程序。webapp 提供一种简单的方式来开始为 App Engine 开发应用程序。应式网页设计的大部分技术,是可用在WebApp开发中的。
Native App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。一般使用的开发语言为JAVA、C++、Objective-C Native App。因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。但是由于设备碎片化,App的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。但是比较乐观的是,App store培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢
微信小程序我们提供了一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 微信小程序就是运行在微信内部的应用程序,没有 App 一样的安装、卸载过程,但是同时具备出色的使用体验,看到这时我就怀疑小程序应该不是基于纯 web 的应用,因为起码目前来说 web 应用体验还是比较差的,从圈内人与微信内部人员获得的信息得知,微信小程序果然跟猜想的一致,技术上是使用一种类似 React Native 的框架来保证原生的体验。
微信小程序由于出于微信框架,所以受到一些限制,所以才叫小程序,只能做些小应用,适合微信小程序的我认为是一些工具类的应用,比如天气、日程、缴费、订票等,还有一些娱乐类的小游戏,这种低频同时又有刚需的我认为是最适合微信小程序的。相反,你在微信内部刷个微博、知乎等,一方面微信内部肯定各种限制,另一方面肯定没有去这类 App 直接体验更爽。App 有他天生的优势,没有微信的限制,更加自由,功能、体验更加友好,微信小程序是基于类似 React Native 的框架来开发的,用 html + javascript 来做开发。
其中小程序开发完后并不能直接发布,需要提交给微信团队进行审核,审核方式类似于 App Store。由于微信小程序受到微信框架的限制,虽然其操作简单,很容易上手,但是我觉得随着智能手机越来越流行,而且人们对手机流畅程度的要求越来越高,微信小程序只能火一段时间,不能长久的发展下去,微信小程序只适合于一些开发程序的新手,由此来锻炼自己,原因是开发成本低,操作简单,容易上手。
由于NativeApp专业性很强,对要求极高,而且要求手机,pc端需要安装应用,而且由于系统性缘故,有的系统可能不支持,对有的系统需要单独开发新的应用,这就大大增加了开发成本,由于其专业性很强,基于人们未来对应用的需求越来越大,这就使得开发人员不足以适应整个市场,所以未来这个也未必是大流的开发。
由此而来,WebApp就将成为未来的主流,并且走在历史进程之前的 HTML5,从 2013 年左右开始出现 HTML5 行业的创业者,一直以来的印象都被固化到了「小游戏」和「小广告」的层面,尴尬的定位和贫瘠的市场需求都阻碍了行业成长。现在通过微信来教育市场,HTML5 行业毫无疑问会以空前的速度发展,同时资本市场也会开始关注这一领域。对于「小程序」这样的 Web App 来说,可见的未来中慢慢脱离于 Native App 的制约而独立迭代,更快的进行技术演进。App 最终会消失,所有 app 都会演变成为特定情景服务的工具,但在此之前必然还有很长的路要走。无论微信的野心是要变为OS 也好,Web App 的野心是要推翻 Native App 也罢,这一切都还需要技术、市场、用户习惯的演进和沉淀。
对于未来,我觉得由于人们消费的需求,对手机,PC性能的一些需求,很可能许多APP将不会存在,取而代之将是Web,到时候很可能PC端只用一个浏览器处理就可以了,到时候就加大对浏览器端的数据处理就可以,大大节约了手机的性能,而且随着云时代的到来,很可能到时候PC端的数据也租用云服务器处理,处理速度特别快,满足了人们的许多需求。
并且web的开发大多以Javascript为主,这个上手容易,因为人们的需求多,而又容易上手,满足了市场需求,所我觉得未来web会越来越受欢迎,而且也是未来的主流,虽然现在微信小程序非常火,但是由于其只适用于Android用户,对于iOS并不是很适用,但是iOS用户也是不小的一部分消费群体,但是对于Web来说,不论什么系统都可以用,而且使用方便,开发不费事,满足所有需求,所以未来是Web的未来。
应用程序开发 WebApp NativeApp 微信小程序的更多相关文章
- 支付宝小程序开发之与微信小程序不同的地方
前言: 本文仅汇总微信小程序移植支付宝小程序过程中遇到的一些不同的地方,详细请参考官方开发文档. 网络请求: 对于网络请求,基本上改动不大,也就支付宝小程序没有responseType属性及响应码字段 ...
- 小程序开发-iView Weapp微信小程序UI组件库入门使用
iView Weapp UI组件库 今天来试试iView Weapp 这个微信小程序组件库,看看好不好用~~ 官网地址: http://inmap.talkingdata.com/wx/index_p ...
- 微信答题小程序 微信小程序 答题 demo 头脑王者这样的答题小程序开发 答题的微信小程序开发经验 微信答题比赛小程序
最近随着王思聪的我撒币,我快乐,直播答题非常火.同时知乎的答题小程序头脑王者也非常火爆.大家在微信和微信群里玩的不亦乐乎. 好吧,快乐总是属于你们,我却只能埋头写代码... 公司要求赶紧开发一个这样的 ...
- 【小程序开发总结】微信小程序开发常用技术方法总结
1.获取input的值 <input bindinput="bindKeyInput" placeholder="输入同步到view中"/> b ...
- 微信小程序开发公测,小程序账号申请办法攻略
11月3号晚上 10 点,微信公众平台发布公告,宣布微信小程序正式开放公测.此次小程序公测允许开发者将产品提交至微信公众平台审核,但是暂时不支持发布,也就是说普通消费者若想体验小程序,还需要等待一段时 ...
- 移动开发之【微信小程序】的原理与权限问题以及相关的简易教程
这几天圈子里到处都在传播着这样一个东西,微信公众平台提供了一种新的开放能力,开发者可以快速开发一个小程序,取名曰:微信公众平台-小程序 据说取代移动开发安卓和苹果,那这个东东究竟是干吗用的?但很多人觉 ...
- 微信小程序的开发:通过微信小程序看前端
前言 2016年9月22日凌晨,微信官方通过"微信公开课"公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真 ...
- 零基础开发一款微信小程序商城
零基础开发一款微信小程序商城 一个朋友问我能不能帮忙做个商城?我一个完整网页都写不出的 菜鸟程序员,我该怎么拒绝呢?好吧,看在小程序这么火的形势下,我还是答应了!找了个开源项目,差不多花了三天时间搞定 ...
- 微信小程序开发教程 #043 - 在小程序开发中使用 npm
本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...
随机推荐
- C++之error: cannot bind non-const lvalue reference of type ‘myString&’ to an rvalue of type ‘myString’
先看代码(不想看代码可以直接看代码后的问题描述) //header.h #ifndef _HEADER_H #define _HEADER_H #define defaultSize 128 #inc ...
- 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(六)-FatFs使用的思路介绍
[STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...
- Android Handler 消息机制原理解析
前言 做过 Android 开发的童鞋都知道,不能在非主线程修改 UI 控件,因为 Android 规定只能在主线程中访问 UI ,如果在子线程中访问 UI ,那么程序就会抛出异常 android.v ...
- Git的使用-一个分支完全替换另一个分支
之前公司git分支混乱,今天花时间整理了一下,在合并分支的时候遇到一个问题: 一个很久没有拉取远程代码的分支与master分支合并时,出现冲突之外,还会丢失文件,很头疼,然后找到了下面的方法,可以直接 ...
- 【编程思想】【设计模式】【创建模式creational】Pool
Python版 https://github.com/faif/python-patterns/blob/master/creational/pool.py #!/usr/bin/env python ...
- 出现 CannotAcquireLockException 异常
项目出现 CannotAcquireLockException异常 原因: 百度了一下,是由于 Spring 事务嵌套造成死锁 结合自己的, handleWithdraw 方法底层有调用 其他 se ...
- java使用在线api实例
字符串 strUrl为访问地址和参数 public String loadAddrsApi() { StringBuffer sb; String strUrl = "https://api ...
- 使用匿名内部类和lamda的方式创建线程
1.匿名内部类的方式 1 /** 2 *匿名内部类的方式启动线程 3 */ 4 public class T2 { 5 public static void main(String[] args) { ...
- Java动态脚本Groovy读取配置文件
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 核心涉及: @Value:作用是通过注解将常量.配置文件中的值.其他bean的属性值注入到变量中,作为变量的初始值. @Configur ...
- ios self.和_区别
- "self."调用该类的setter或getter方法,"_"直接获取自己的实例变量.property 和 instance variable 是有区别的. ...