原生h5的app开发框架(原生框架+h5)

小程序开发 4508
本篇文章给大家谈谈原生h5的app开发框架,以及原生框架+h5对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 什么叫支付宝原生h5 H5与原生是计算机领域的专业名词,指的是原生开发和H5开发两种APP开发方式。(一)原生开发指的是基于系统语言的软件开发。手机内通过安装包安装的应用基本都是原生开发。具体的原生开发就是直接使用手机系统支持的框架语言直接开发。例如:Android手机就会直接使用Java语言和Android sdk开发Android手机的APP。苹果手机就会使用OC或者Swift语言和苹果APP的开发框架开发iOS手机APP。

本篇文章给大家谈谈原生h5的app开发框架,以及原生框架+h5对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

什么叫支付宝原生h5

H5与原生是计算机领域的专业名词,指的是原生开发和H5开发两种APP开发方式。

(一)原生开发指的是基于系统语言的软件开发。手机内通过安装包安装的应用基本都是原生开发。

具体的原生开发就是直接使用手机系统支持的框架语言直接开发。例如:Android手机就会直接使用Java语言和Android sdk开发Android手机的APP。苹果手机就会使用OC或者Swift语言和苹果APP的开发框架开发iOS手机APP。

当然,不论Android手机APP,还是苹果手机APP,都是需要同一个后台存储数据和提供更新的。这样的开发方式对人力分配和时间的消耗都比较高。

(二)H5指的是一种技术标准而非技术。这种标准需要厂商为此提供支持才能实现各种功能。H5一词刚出现的时候,让网页摆脱了插件的局限。只是通过网页代码就能让网页页面实现加载页面素材,播放音频等功能。提高了用户和页面之间的交互水平。

具体的H5开发就只需要H5的开发工程师将APP的页面和功能全部实现。之后分别交给Android的工程师和iOS的工程师,两个工程师直接套上一个APP开发的壳就可以直接使用了。非常节省时间和人力。但是在网络连接不良的情况下,用户体验会比原生开发的APP要差一些。

h5做app和原生app有什么区别?

H5APP即是一种框架型APP开发模式(HTML5APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

原生APP又称NativeApp,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。

1、开发方面的区别(这个地方太专业啦,请教了团队的开发小伙伴)

目前ReactNative开发越来越火,微信小程序是基于ReactNative开发的,体验接近原生APP,发展前景值得重视。不过好在现在非原生APP同样可以调用蓝牙、相机等硬件,也能顺利发布到苹果APPstore。

移动WebApp

1、因为运行在移动设备的浏览器上,所以只需要一个开发项目

2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,RubyonRails,Python)

3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap,SenchaTouch2以及AppceleratorTitanium等等。

原生App

1、每一种移动操作系统都需要独立的开发项目

2、每种平台都需要独立的开发语言。Java(Android),Objective-C(iOS)以及VisualC++(Windowsphone)等等

3、需要使用各自的软件开发包,开发工具以及各自的控件

2、能力方面的区别

移动WebApp

只能使用有限的移动硬件设备功能。

原生App

能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。对于这一点感触很深刻,2016年做新年H5营销小活动的时候,就是因为没有考虑到H5不能使用移动硬件端重力加速器而导致临时替换设计方案。

3、获取方法的区别

移动WebApp

1、从移动设备上的浏览器访问

2、不需要安装额外的软件

3、软件更新只需要服务器就够了

4、因为现在没有什么商品或卖场提供这种App,不过一般都是嵌套在系统内部,或者内部系      统中使用

5、跨平台开发,用户不需要去卖场来下载安装App

6、需要过度依赖网络,没有任何缓存数据

7、任何时候都可以发布App,因为根本不需要官方卖场的审核

8、如果你已经有了一个WebApp,你可以使用responsivewebdesign来辅助改进(这也是优势?)

9、所有的用户都是用同样的版本

原生App

1、直接下载到设备

2、以独立的应用程序运行(并不需要浏览器)

3、用户必须手动去下载并安装这些原生App

4、有一些商店与卖场来帮助用户寻找你的App,appstore里面应有尽有。

5、原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;

6、手机用户无法上网也可访问APP应用中以前下载的数据。

7、原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)

8、APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。

9、用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况

即使两者之间有很大的区别,即使H5有一大堆的坑和问题,但是仍旧不妨碍移动WEB无所不在,移动web是目前唯一的支持各种设备访问的平台,也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与PC系统任务有效的结合在一起。而原生nativeapp可以充分利用设备的特性,这一点是它得天独厚的优势。

正式因为它有复杂多变的CSS样式消耗了大量性能,它才有一个更有竞争力的优势——它带来了多样性的排版,能够细致到每一个字宽行高和风格的像素级处理,能够给你带来不一样的图文汇合的排版。

H5 手机 App 开发入门:技术篇

手机 App 的技术栈可以分成三类

原生技术栈指的是,只能用于特定手机平台的开发技术。比如,安卓平台的 Java 技术栈,iOS 平台的 Object-C 技术栈或 Swift 技术栈。

混合技术栈指的是开发混合 App 的技术,也就是把 Web 网页放到特定的容器中,然后再打包成各个平台的原生 App。所以,混合技术栈其实是 Web 技术栈 + 容器技术栈,典型代表是 PhoneGap、Cordova、Ionic 等框架。

跨平台技术栈指的是使用一种技术,同时支持多个手机平台。它与混合技术栈的区别是,不使用 Web 技术,即它的页面不是 HTML5 页面,而是使用自己的语法写的 UI 层,然后编译成各平台的原生 App。

这个技术栈就是纯粹的容器技术栈,React Native、Xamarin、Flutter 都属于这一类。学习时,除了学习容器的 API Bridge,还要学习容器提供的 UI 层,即怎么写页面

总结:H5 开发主要用在混合技术栈。但是,跨平台技术栈的某些容器也会用到(比如 React Native),因为它们的 UI 层借鉴了 Web 模型。

另外,混合技术栈和跨平台技术栈的基础,都是原生技术栈,因为最终都要编译成原生App。所以,不管使用哪一种技术栈,多多少少要了解一些各平台的原生技术。

不管什么技术,最终在 App 里面显示网页,一定需要一个网页引擎,这样才能解析网页。通常情况下,App 内部会使用 WebView 控件作为网页引擎。这是系统自带的控件,专门用来显示网页。应用程序的界面,只要放上 WebView,就好像内嵌了浏览器窗口,可以显示网页。不同的 App 技术栈要显示网页,区别仅仅在于怎么处理 WebView 这个原生控件。

不同系统的 WebView 控件名称不一样,安卓系统就叫 WebView,iOS 系统有较老的 UIWebView,也有较新的 WKWebView,作用都是一样的,差异在于功能的强弱。

原生安卓开发app的框架frida安装和Python小试牛刀

本教程只用于学习探讨,不允许任何人使用技术进行违法操作,阅读教程即表示同意!

frida是一个hook原生 安卓开发app 的一个框架,也不止安卓,像ios和win等,都支持,但是好像看到用的不太多。

注意,是原生,就是用Java+安卓开发的app。

还有些是H5之类的,这些是hook不成的,当然,市面上最起码80%的app都是原生开发,不必担心。

再说,H5开发的不是更容易破解?懂的都懂!

hook英文是钩子的意思,可以理解为一堆水管流水,我在某个水管中间挖一个洞,操作一波再继续流。

当然,我也可以只看看某个水管有没有水。

上述这个过程就叫做修改和验证!

可以使用编写的简单Python环境管理器快速创建一个虚拟环境,可视化就是好,再也不用记该死的命令了!

相关链接:

这里已经创建完毕,虚拟环境名为 frida_env

当然,这是一个差不多的参考价值,不一定准,具体情况具体分析。

在安装frida时,尽量科学上网,因为frida好像会下载一些东西,不科学上网非常慢...可能会卡住很长时间!

根据我的环境,这是我的依赖包,在虚拟环境中pip安装即可!

安装完成之后,分别执行 frida --version 和导入 frida ,如果没有报错则表示安装成功!

frida-server下载链接:

综上所述,我pip的frida版本为14.2.18,手机是arm64,所以要下载这个!

确实存在,ok。

这样就已经运行起来了,他是不会有提示的,是直接wait在这的!

注意啊,这个cmd窗口是不能关的,一直挂这就行!

激活上述创建好的虚拟环境,执行以下命令。

如果出现以下信息,表示正确!这是手机的一些信息,表示能获取到。

到这,pc端的frida和手机端的frida-server就建立成功了,主要流程就是

如果frida版本=12,好像是要进行端口转发的

pc上配置frida没什么好说的了,创建一个虚拟环境,安装frida就好了。

手机上的话,第一次需要把frida-server拷贝到 /data/local/tmp 下和 chmod

然后运行这个frida-server,命令总结一下大概为:

下次使用直接复制就可以了!

因为frida使用的是js语言,并且需要安装一个代码自动提示插件,所以WebStorm最合适,官网下载点击下一步下一步即可。

这里不做叙述。

嗯,还需要安装node,自己折腾吧!

创建一个空项目,选择合适的目录。

打开项目,点击下面的Terminal,输入 npm i @types/frida-gum 安装frida代码自动提示。

这不,关于frida的代码就能自动提示了!

题外话

通过Charles+postern进行抓包,发现登录用的接口为

可以发现带的数据是一个 {"Encrypt":"xxx"} ,擦,这是什么玩意啊???

这个apk是没有加固的,通过反编译搜索一下 user/login 试试!!!

找到了两处 user/login ,其中一个是login函数!

那么,现在问题来了,到底 user/login 走的是不是login?如何验证?

此时点击手机上面的登录按钮,然后看pc上控制台的输出!

确实输出了,经过验证,确实是执行了这个login。

然后你再进行一遍hook和分析即可。

下节课就来分析如何自动登录这个app!

想要玩转hook,大概分为以下几步

人生没有白走的路,加油!

原生h5的app开发框架的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于原生框架+h5、原生h5的app开发框架的信息别忘了在本站进行查找喔。

扫码二维码