小白必看,总结前端所有主流的构建工具,webpack/vite/roollup/esbuild,包含源码,建议关注+收藏

在实际项目中,我们初始化项目,一般是使用脚手架命令一键生成的,比如说使用create-vue初始化vue项目的时候,就会默认使用vite进行打包,同理使用vue-cli的时候就是默认使用webpack进行打包(现在vue已经不推荐使用这种方式了)

使用脚手架初始化项目简单又方便,很多东西都是现成的,但是这就导致有的时候新手小白不会去认真看打包工具的官网,误以为诸如webpack和vite等打包工具只能和vue/react等框架绑定使用。

所以我的建议是,可以跟着打包工具的官网,一步一步跟着来详细的学习一下,然后再看你用脚手架初始化的项目,有些东西和配置你才会豁然开朗。

还是需要强调一下,学习一个新的工具,首选的学习资料就是该工具的官网。官网的教程,系统而详细,不要一遇到问题就去百度/博客上搜,得到的结果往往是乱七八糟的。

我用gitee仓库纯粹是因为不方便科学上网,大家也可以使用github

我的仓库地址是learn-pack-build

把你的项目克隆到本地,并新增.gitignore文件。

接下来我们就在这个项目中学习各种打包工具。

我们把这些打包工具主要分为两类,一类是基于任务的打包工具(grunt和gulp),第二类是基于模块的打包工具(webpack、vite、esbuild、roollup、parcel、browserify),这8个的基础用法我们都要学习一下,才能够更好的理解。

注意,这些工具我们比较习惯称之为构建工具,而不是打包工具,因为打包工具听起来就只是一个简单的打包功能,但是构建工具有很多其他的功能,比如编译、测试、打包、优化、压缩等。还是称之为构建工具比较好。

对于基于任务的构建工具主要就了解以下两个就行,了解即可,知道它们为什么是基于任务的就行。

Grunt是一个基于任务的构建工具,通过配置任务列表,实现前端项目的自动化构建和优化。Grunt的任务通常是串行执行的,但是可以使用一些插件实现并行执行。

Grunt是一个JavaScript任务运行器,它使用配置文件(通常是一个名为Gruntfile.js的文件)来定义任务。任务通常是一些插件的集合,用于执行各种操作,如文件的合并、压缩、编译等。Grunt使用相对较多的配置,因此有些开发者可能觉得其配置较为冗长。

注意这个单词的发音【gruangt】

我们可以跟着grunt的官网来学一下到底怎么用,恕我直言,我也没用过这个工具,但是跟着官网一步一步来,是可以很容易打包一个js文件的。

详细代码请参看项目的这个文件夹

重点是Gruntfile.js这个文件,在这个文件中【定义任务】—>【注册任务】可以使用各种插件,grunt有很多可以使用的插件,总之我们需要理解grunt是基于任务的构建工具。

Gulp也是一个基于任务的构建工具,通过定义一系列任务,可以实现对前端项目的自动化构建,包括文件的合并、压缩、编译等。Gulp原生就可以支持任务的串行、并行执行。

Gulp则是另一个JavaScript任务运行器,它更加基于代码,使用流/管道(stream)来定义任务。开发者通过编写JavaScript代码来配置任务,这使得任务的定义更加灵活、简洁。Gulp的流式处理方式通常被认为更加直观和易于理解。

gaop

同样的我们跟着gulp的官网一步一步来实现一个简单的demo。

Grunt和Gulp是JavaScript的构建工具,它们有很多相似之处,但也存在一些区别,主要集中在以下几个方面:

配置方式:

API和插件:

性能:

易用性和可读性:

总的来说,Grunt和Gulp在实现自动化构建方面都能很好地胜任,但在使用体验、性能和可读性等方面存在一些差异,开发者可以根据自己的偏好和项目需求选择合适的工具。

好了,基于任务的构建工具就了解grunt和gulp两个就行。接下来我们要学习一下重头戏,基于模块的构建工具,这个部分我也分为两组。一组是简单的,如parcel、browserify、roollup、esbuild,一组是较复杂的webpack和vite

Parcel是一个零配置的前端打包工具,可以自动识别项目中的文件,并进行相应的打包。它支持多种文件类型,支持热更新,并且具有快速的打包速度。

注意这个零配置,给人的感觉好邪乎,好神奇,有这么好的事?不要怕,一切都是纸老虎

同样的我们跟着parcel官网来实现一个简单的demo,你测试一下会发现确实很快,而且不用任何关于parcel的配置文件。

我个人认为,如果你自己写一个学习的项目,不考虑性能,用这个打包是绝佳的首选,简单好上手,零配置真是强推。

但是如果在实际的项目中,我们就要考虑性能等各种方面,parcel没有webpack的社区活跃,功能强大。

parcel2的官网里面显示也支持插件等,功能比1强大很多,有兴趣可以试着学习一下(我没有兴趣~~)

Browserify允许在前端使用类似于Node.js的require语法,将模块化的JavaScript文件打包成一个文件,以便在浏览器中使用,它打包后的文件可以直接在html中引用。

模块化开发:Browserify允许开发者使用模块化的方式组织JavaScript代码,使得代码更易于维护、重用和测试。通过require()来引入模块,可以将代码分割成多个文件,每个文件负责一个特定的功能,有助于降低代码耦合度。

依赖管理:Browserify自动处理模块之间的依赖关系,可以将各个模块打包到一个文件中,避免了手动管理依赖关系的繁琐工作。这简化了开发流程,提高了开发效率。

前端与后端代码共享:由于Browserify可以使用类似于Node.js的模块系统,在一定程度上实现了前端和后端代码的共享,使得开发者可以更容易地在前端和后端之间共享代码和逻辑,提高了代码复用性和一致性。

使用npm生态系统:Browserify可以直接使用npm上的模块,这意味着您可以利用npm生态系统中丰富的第三方模块和工具来加速开发,无需额外的学习成本。

支持预处理器:除了JavaScript模块外,Browserify还支持预处理器,如通过适当的插件,可以使用CoffeeScript、TypeScript、Less等语言,并将其编译成浏览器可执行的JavaScript代码。

如果你用过webpack等主流的构建工具,你会发现browserify有的功能,webpack也有,因为browserify是先提出来的,所以有了webpack之后就不咋用了。

看出来了,它的核心优势就是前端使用类似于Node.js的require语法

同样的我们跟着browserify的官网实现一个简单的demo,看看怎么回事。

详细代码请参看项目的这个文件夹,在这个demo中也是没有配置文件,只是单纯的使用browserify打包了一个js文件。

这一章节会介绍4个重要的构建工具,分别是rollup、esbuild、webpack、vite,都是我们在开发过程中常用的,这四个构建工具的共同点有

Rollup是一个JavaScript模块打包器,专注于打包JavaScript库。它能够进行Tree-shaking,即删除未使用的代码,以减小打包后的文件体积,常用于构建库(library),特别是那些专注于ES6模块的库。

JavaScript库是啥?

JavaScript库通常包含了一系列功能、组件或模块,用于在开发过程中提供特定的功能或解决特定的问题。vue、react、jquery、lodash等都属于javascript库。就是我们使用npm命令去安装的都是js库。

在我们的项目中很少单独时候rollup打包,但是实际上我们常用的构建工具vite他的底层逻辑就是使用了rollup,所以还是有必要学习一下的。

可以跟着rollup官网进行学习,rollup支持配置文件,支持插件,但是不支持热更新。

详细代码请参看项目的这个文件夹。

如果你在自己学习一个新的技术,也可以是试着使用rollup进行打包。不过rollup不支持热更新,不如之前说的parcel方便。

esbuild是一个非常快速的JavaScript和TypeScript构建工具。它以极快的速度执行构建任务,并支持Tree-shaking,即消除未使用的代码。esbuild被设计成一个零配置的工具,但也提供了一些配置选项供用户进行调整。

esbuild主打一个快速,但是不支持插件配置,也不支持热更新,他是2019年首次发布的,因此它相对较新。所以目前为止有些插件和esbuild并不兼容,这也就是vite的打包使用了rollup而没有用esbuild的原因,相对而言rollup有更活的插件api和基础建设。

一下内容来自vite官网

可以跟着esbuild官网进行学习,esbuild不支持插件,也不支持热更新。

那么问题来了,问什么esbuild会这么快?

用Go编写:esbuild是用Go编写的,Go是一种编译型语言,具有出色的性能和并发能力。esbuild利用了Go的特性,通过并行编译和高效的资源管理,实现了快速的构建速度。

高效的算法和数据结构:esbuild使用了一些高效的算法和数据结构来加速构建过程。例如,它使用了一种称为并行增量算法的技术,可以有效地处理多个模块并行编译,从而提高了构建的效率。

零分析的工作方式:esbuild不会像其他工具那样对整个项目进行完整的分析,而是仅仅对被导入的模块进行编译。这种零分析的工作方式大大减少了构建过程中的计算量,从而提高了构建速度。

基于原生代码生成器:esbuild采用了一种基于原生代码生成器的方法,可以直接生成高效的原生代码,而无需通过中间表示或额外的转换步骤。这样可以减少构建过程中的不必要的计算和内存开销,从而提高了构建的速度。

Vite是一种新型的前端构建工具,特别设计用于快速开发。Vite支持使用原生ES模块作为开发环境,采用按需编译的方式,因此在开发过程中能够获得更快的冷启动速度。Vite集成了Vue.js,但也可以用于其他框架或库。

vite是我们常用的一个打包工具,有三个问题我们理解了,基本就涵盖了面试题中的问题,分别是

可以点进去看一下详细内容,有一点需要补充一下,这些内容在vite的官网实际上都有详细的描述,所以说官网是个好东西,建议大家都去看一遍官网,常看常新。

接下来还是实现一个简单的demo,我不使用脚手架,也不用vue等框架,就自己写一个。

新建vite文件夹后,并运行下面命令,跳转到该文件夹下面

cdvite4.3.2初始化项目在vite文件夹下面,运行下面的命令

npminit-y4.3.3安装vite在vite文件夹下面,运行下面的命令

npmivite-D4.3.4新建index.html/index.jsindex.html作为入口文件,并在index.html中引入index.js

代码如下

Document

vite

//index.jsexportconstname='vite'console.log('innername',name)4.3.5配置dev命令在package.json中配置

可以自己在源代码中查看

新增vite.config.js,可以根据官网进行各种配置,比如配置启动的端口号。

这部分代码在下面这个文件夹中,可以参考。

好了,vite还是相对简单的构建工具,我们还剩一个最重要的重头戏webpack,加油坚持就是胜利。

Webpack是一个模块打包工具,它能够将各种资源(JavaScript、CSS、图片等)打包成一个或多个静态文件,以优化加载性能。

webpack是一个强大的构建工具,主要的设计到的重点问题有

依次看完这9个问题,基本上就对webpack的理论知识有了一定的了解,现在我们还是跟着官网动手写一个demo吧。

新建webpack文件夹后,并运行下面命令,跳转到该文件夹下面

cdwebpack4.4.2初始化项目在webpack文件夹下面,运行下面的命令

npminit-y4.4.3安装webpack等在webpack文件夹下面,运行下面的命令

npmi-Dwebpackwebpack-cliwebpack-dev-serverhtml-webpack-plugin【webpack-cli】CommandLineInterface是Webpack的命令行工具,用于在命令行中运行和配置Webpack。

【webpack-dev-server】是webpack的开发服务器,用于开发中的热更新,自动编译等功能。

【html-webpack-plugin】是webpack的html插件,可以将打包后的js等资源文件挂载到html中,进行预览、开发。

都一些简单的代码,其中重要的配置是在webpack.config.js中,具体的可以在后面我的仓库中查看。

运行npmrundev

光说不练假把式,我们还是实际是一下这三个单词的区别吧。

入口文件名,设置为【hash】,然后运行打包命名npmrunpack,你会发现,所有文件共用一个哈希值。

此时我们只对其中的一个js文件login.js做出改动,然后重新打包,你会发现重新生成了两个js文件,没有改动的main.js也重新打包了

我们再来看一下chunkhash,首先把dist文件夹里面的内容清空,然后打包。

改变login.js的内容,重新打包,发现只新打包了login

我们刚才是改动了login.js,现在我们改动loginInfo.js,login引用了loginInfo,【换言之,loginInfo.js是login.js的依赖】再重新打包。

会发现也会重新打包,所以说,在入口文件的依赖发生改变时,也会重新打包,这是很好理解的,因为webpack会根据入口文件依次打包它的依赖文件整合到一个文件中,所以一个依赖发生变化,生成的资源文件肯定发生变化。

chunkhash就很适合用来打包入口文件,这样每个入口文件以及依赖发生变化,只会重新打包发生变化的文件,而不会影响其他的入口文件。

我们修改一下项目,增加一个css的插件,依次安装下面的插件

npmicss-loadermini-css-extract-plugin-D【css-loader】使得能够在js中importcss文件加载样式

【mini-css-extract-plugin】可以把js文件单独打包成一个文件,如果不适用这个插件,就会把css的内容打包到引用它的js文件中。

新增index.css,并在login.js中引用

此时webpack.config.js的配置如下

现在我们配置的是chunkhash,打包之后内容如下

修改login.js,注意修改的是js文件,重新打包,会发现css文件也重新打包,但是其实css的文件没有做任何改动。

所以我们这个时候可以使用contenthash,再来重复上面的操作。

所以说contenthash是只有在内容发生变化的时候,哈希值才会变化,一般用于打包css文件,这对于缓存很有用。

至此,基本上前端涉及到的流行的构建工具都已经自己写了一个demo,其中vite和webpack的尤为重要,webpack是高频面试题,所以还是需要好好看一下官网,理解一下原理。

THE END
1.你们常用的Web开发工具都有什么?分享我常用的5大Web开发工具作为Web开发人员,无论是全栈,前端还是后端,在某些时候我都必须要测试,调试或设计API,并且有许多出色的工具可以在此过程中为我提供支持。我最喜欢的是Postman,它让我可以将所有API文档,示例和可以与团队共享的预配置请求集中在一个地方。真的对我很大有帮助。现在有一些其他选择,例如Insomnia,但我还没有尝试过, posthttps://www.528045.com/article/193c9fe0bb.html
2.10款必备HTML5开发工具推荐,助力高效Web开发HTML5是构成Web基础的语言HTML的规范版本。当我们浏览网页时,最初呈现的内容是以HTML格式存在的,随后通过浏览器的技术处理,这些内容才转化为我们能识别的信息。由此可以看出,HTML5在Web领域扮演着至关重要的角色。为了制作网页内容,开发人员需要使用专门的HTML5开发工具,这些工具能显著提升开发过程的效率和准确性。 https://www.7claw.com/2802446.html
3.精选建站工具,助力高效建站,事半功倍之选导读:在数字化时代,拥有一个专业且功能强大的网站对于企业和个人都至关重要。然而,面对市场上众多的建站工具,如何选择一款适合自己的工具成为了许多人的难题。为了帮助大家事半功倍地构建 在数字化时代,拥有一个专业且功能强大的网站对于企业和个人都至关重要。然而,面对市场上众多的建站工具,如何选择一款适合自己的工https://www.1asp.com.cn/html/jianzhan/2024-12-17/373859.html
4.网页设计软件精选,打造极致用户体验的必备工具小程序开发摘要:本文推荐了一些最佳的网页设计软件,这些工具旨在打造优质的用户体验。这些软件不仅功能强大,而且易于使用,可以帮助用户快速创建出美观、响应式的网页。这些软件拥有丰富的模板和灵活的定制选项,适合各种用户需求,无论是初学者还是专业人士都可以轻松上手。使用这些推荐的网页设计软件,用户可以大大提高工作效率,并创建出https://vvrcloud.com/post/25417.html
5.程序员作图工具和技巧,你get了么?程序员作图工具和技巧,你 get 了么? 分享程序员常用的画图软件和小技巧 大家好,我是鱼皮。 说实话,我觉得做个程序员挺好的。日常工作有很多,写代码、对需求、写方案等等,但我最爱画图:流程图、架构图、交互图、功能模块图、UML 类图、部署图、各种可视化图表等等五花八门。https://xie.infoq.cn/article/9da8fc6e9090c946ab746e158
6.常用的网页制作软件有哪些网站制作工具大全→MAIGOO知识常用的网页制作软件有哪些 Dreamweaver WebStorm Frontpage HBuilder WampServer visualstudio eclipse 优秀的网页设计模板 网站模型设计工具 常用的网页制作软件有哪些 1、Dreamweaver 就目前来说,使用最多的静态网站的制作工具有dream weaver,软件直接搜索就可以找到并下载了。 https://www.maigoo.com/goomai/189945.html
7.目前主流的几个Web前端框架网站框架目前主流的几个Web前端框架 文章列举了2023年九大热门前端框架,包括React.js、Vue.js、Angular、Svelte等,分析了各自的优点和缺点,如React的高效渲染、Vue的易学性、Angular的组件架构和Svelte的轻量级特性。这些框架为开发者提供了不同的开发体验和效率提升。https://blog.csdn.net/u011916503/article/details/131901256
8.现在主流web开发工具有什么随着Web开发技术的不断进步,主流的Web开发工具也越来越多,这些工具可以帮助开发者更高效地完成开发任务,本文将对目前主流的Web开发工具进行介绍,包括代码编辑器、版本控制工具、前端框架、后端框架和部署工具等。 (图片来源网络,侵删) 代码编辑器 1、Visual Studio Code(VSCode) https://www.kdun.com/ask/652502.html
9.ASP.NETCore适用于.NET的开源Web框架.NET 是一个开发人员平台,由工具、编程语言、库组成,用于构建许多不同类型的应用程序。 ASP.NET Core 通过专门用于生成 web 应用的工具和库扩展了.NET 开发人员平台。 更深入发掘: 什么是 ASP.NET Core? 了解ASP.NET Core 通过我们的教程、视频课程和文档,了解 ASP.NET Core 提供的所有功能。 https://asp.net/
10.网页设计论文摘要:DIV+CSS是Web设计标准,随着Web2.0标准化设计理念的普及,国内很多大型站采用DIV+CSS网页布局制作方法。从实际应用情况证明,该技术具有代码简洁、表现和内容相分离等优势。 关键词:设计论文 1、DIV+CSS概念 DIV就是一个区块容器,用来封闭数据区域,属于行级区域,相当于一个可以容纳表格、段落、标题、图片等各种元素https://www.ruiwen.com/lunwen/6161857.html
11.2023年大淘宝Web端技术概览O2 是阿里巴巴集团内部的前端工程解决方案品牌,致力于打造支撑 Web 开发者软件交付全周期平台,涵盖了需求管理、开发工具(本地&在线)、CI/CD 平台、在线构建和扫描检测能力与标准化前端动静态资源交付部署服务等。当前交付给 Web 开发者的核心功能有两大子品牌 O2 Space 和 O2 Code。 https://developer.aliyun.com/article/1152963
12.深度解读!Sora将如何引领AIGC趋势变革,附40款各行业常用AI工具AI多语言翻译:支持即时翻译,无需切换翻译软件,支持多种主流语言,智能纠正语法和错别字。 超能AI助手:boardmix AI不仅是一个对话工具,还具备AI生成图片(AI绘画)、AI生成实用模板、AI写作、AI生成流程图、AI生成思维导图和AI生成PPT等多种创作能力。 可视化表达:boardmix提供丰富的创作工具和模板资源,支持文本、便签https://www.jiemian.com/article/10824432.html
13.在线PS软件在线PS图片(照片)处理工具PS在线图片编辑器是一个专业精简的在线ps图片照片制作处理软件工具,绿色免安装,免下载,直接在浏览器打开就可用它修正,调整和美化图像。http://uupoop.com/
14.几款主流的国产Web组态软件工具BY组态是一款非常优秀的纯前端的web组态插件工具,可无缝嵌入到vue、react项目等,由于是原生js开发,对于前端的集成没有框架的限制,同时由于BY组态只是一个插件,不能独立运行,必须嵌入到软件平台才能使用。目前BY组态广泛应用于化工、石化、制药、冶金、建材、市政、环保、电力等行业。 https://blog.itpub.net/70014953/viewspace-2977527/
15.h5页面制作工具免费下载电脑h5页面制作软件推荐电h5即html5,目前H5已成为网页开发的主流,像在做网站、小游戏等方面都有广泛的应用,但是大多数人可能并不会写H5代码,这时候就需要用到H5制作工具,这是一种帮助用户创建和设计基于HTML5技术的交互式网页的软件或平台,可以帮助我们快速地实现我们的想法。不过有些小白并不知道市面上好用的h5页面制作工具有哪些?为此小https://www.ddooo.com/zt/h5ymzzrj.htm
16.Web3D技术综述AET近几年,网络媒体尤其是电子商务对图形、图像、视频技术等提出了更高的要求,各个3D图形公司纷纷推出了自己的Web 3D制作工具,各具特色,使得Web 3D虚拟现实技术操作更加简单,使用更加便捷。 2.1 国外的主流技术 目前Web 3D的开发技术除了传统的VRML/X3D以外,常见的还包括:Cult3D、Viewpoint、Java3D、Virtools、ShockWavehttp://www.chinaaet.com/article/218191
17.免费网站生成器?免费网页制作网页制作完毕,最后要发布到Web服务器上,才能够让全世界的朋友观看,现在上传的工具有很多,有些网页制作工具本身就带有FTP功能,利用这些FTP工具,你可以很方便地把网站发布到自己申请的主页存放服务器上。网站上传以后,你要在浏览器中打开自己的网站,逐页逐个链接的进行测试,发现问题,及时修改,然后再上传测试。全部测试完https://www.pinunu.com/yule/mfwzsca.html
18.六款流行Web大前端框架以及特性随着web前端开发行业的不断发展,对于新涌现的技术和工具,我们要保持一颗好奇的心态。因为正确的使用web前端开发工具可以让我们web开发过程更快捷、更轻松,还能提高产品的开发质量。面对市面上诸多的web前端开发工具,主流的web框架有哪些,都具有什么特性?下面给大家介绍6款主流web前端框: https://www.51cto.com/article/714807.html
19.目前市场主流的APP主要分三种:原生APP目前市场主流的APP主要分三种:原生APP、WebAPP和混合APP三种,那么这三种开发方式又有什么区别呢?各有什么优势和劣势?山东APP开发中扬科技为为大家一一解答。 原生APP目前市场主流的APP主要分三种:原生APP目前市场主流的APP主要分三种:原生APP目前市场主流的APP主要分三种:原生APP目前市场主流的APP主要分三种:原生APP目前http://99547768.b2b.11467.com/news/6431687.asp
20.Web3是互联网复兴还是骗局?事实上,W3C、WHATWG 和 IndieWeb 等主流团队正在认真考虑这个问题。如今我们已有一些发展到一定规模的去中心化非加密社交网络,比如Mastodon。此外,虽然区块链是有趣的分布式系统,但我们不能说它们是去中心化系统的先驱,因为区块链的分布式系统的作用是创建一个全局数据库,供所有其他软件使用。区块链在这方面似乎并不https://36kr.com/p/1515605505120006
21.熊市“搬砖”圣地,主流Web3任务管理平台盘点Web3世界同样用户通过Web3任务管理平台,可以在同一平台上接触并了解到多类项目,并通过做任务来获得相应奖励,如NFT、POAP(出勤证明)、空投资格、代币奖励等,投入的成本以及风险相对较低,此外还可以积累自身的链上和链下活动证明,有利于建设个人的Web3身份。目前除了熟知的RabbitHole(兔子洞)外,本文PANews还将介绍主要的5个Webhttps://www.web3sj.com/news/996/
22.7000字超多神器!腾讯设计师也在用的高效设计工具优设网虽然云端化的设计工具正逐渐兴起,但sketch仍然是目前较为主流的界面设计工具。因此接下来除了为大家介绍一些可以提升工作效率的Figma插件外,也会介绍一些好用的sketch插件,大家可以根据自己的需求自行尝试体验。 Design Lint(Figma) 设计师在做较大项目时可能会绘制几十个页面,难免会存在界面丢失元素的情况。Design Linthttps://www.uisdc.com/design-tools
23.六款流行WEB大前端框架以及特性随着web前端开发行业的不断发展,对于新涌现的技术和工具,我们要保持一颗好奇的心态。因为正确的使用web前端开发工具可以让我们web开发过程更快捷、更轻松,还能提高产品的开发质量。面对市面上诸多的web前端开发工具,主流的web框架有哪些,都具有什么特性?下面给大家介绍6款主流web前端框: https://maimai.cn/article/detail?fid=1743819961&efid=yZH58L0CvgI1V41R6HXCOg
24.iOS开源项目插件知名技术博客iOS三方库常用开发工具iOS常用三方库、三方库、iOS开源项目、插件、知名技术博客、iOS三方库、常用开发工具使用介绍等等,大家可以一次性下载了! - WangZhao168/iOS-LibraryCollectionshttps://github.com/WangZhao168/iOS-LibraryCollections
25.原生appwebapp混合app有哪些区别?目前市面主流的APP主要分三种:原生APP、WebAPP和混合APP三种,这里对三者的区别进行详细分析。 原生APP 原生APP用Android,iOS平台官方语言开发,开发类库,工具进行开发。比如安卓的java语言,iOS的object-c语言。在应用性能和交互体验上非常不错。 一般来说原生开发就像盖房子一样。先打基础,然后是房梁,房子的结构,一砖http://www.apppark.cn/t-17675.html