web前端多端编程开发框架结构?

web前端多端编程开发框架结构?,第1张

随着我们对web前端编程开发技术的掌握,越来越多的框架语言和架构方式被我们所熟知。下面天通苑北大青鸟就一起来了解一下,web前端开发的一些常见框架结构。

1全包型

这类框架大的特点就是从底层的渲染引擎、布局引擎,到中层的DSL,再到上层的框架全部由自己开发,代表框架是Qt和Flutter。这类框架优点非常明显:性能(的上限)高;各平台渲染结果一致。缺点也非常明显:需要完全重新学习DSL(QML/Dart),以及难以适配中国特色的端:小程序。

这类框架是原始也是纯正的的多端开发框架,由于底层到上层每个环节都掌握在自己手里,也能大可能地去保证开发和跨端体验一致。但它们的框架研发成本巨大,渲染引擎、布局引擎、DSL、上层框架每个部分都需要大量人力开发维护。

2Web技术型

这类框架把Web技术(JavaScript,CSS)带到移动开发中,自研布局引擎处理CSS,使用JavaScript写业务逻辑,使用流行的前端框架作为DSL,各端分别使用各自的原生组件渲染。代表框架是ReactNative和Weex,这样做的优点有:

开发迅速;

复用前端生态;

易于学习上手,不管前端后端移动端,多多少少都会一点JS、CSS。

缺点有:

1交互复杂时难以写出高性能的代码,这类框架的设计就必然导致JS和Native之间需要通信,类似于手势操作这样频繁地触发通信就很可能使得UI无法在16ms内及时绘制。ReactNative有一些声明式的组件可以避免这个问题,但声明式的写法很难满足复杂交互的需求。

2由于没有渲染引擎,使用各端的原生组件渲染,相同代码渲染的一致性没有一种高。

3JavaScript编译型

这类框架就是我们这篇文章的主角们:Taro、WePY、uni-app、mpvue、chameleon,它们的原理也都大同小异:先以JavaScript作为基础选定一个DSL框架,以这个DSL框架为标准在各端分别编译为不同的代码,各端分别有一个运行时框架或兼容组件库保证代码正确运行。

web前端三大主流框架都是Angular、React、Vue。

1、Angular

Angular原名angularJS诞生于2009年,之前我们都是用jquery开发,自从angular的出现让我们有了新的选择,它最大的特点是把后端的一些开发模式移植到前端来实现,如MVC、依赖注入等。

2、React

React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其创新式的VirtualDOM,性能上碾压angularJS,一经推出,火的一塌糊涂。 特点很多,VirtualDOM、JSX、Diff算法等,支持ES6语法,采用函数式编程,门槛稍高,但也更灵活,能让开发具有更多可能性。

3、Vue

Vue作为最后推出的框架(2014年),借鉴了前辈angular和react的特点(如VirtualDOM、双向数据绑定、diff算法、响应式属性、组件化开发等)并做了相关优化,使其使用起来更加方便,更容易上手,比较少适合初学者。

1、Bootstrap

Twitter出品的Bootstrap在业界是非常受欢迎的,以至于有很多前端框架都在其基础上开发,如我们熟悉的WeX5就是在Bootstrap源码基础上优化而来的。我相信大多数接触过前端开发的同学多少都了解过这个优秀的前端框架。Bootstrap是基于HTML、CSS和Javascript的,它简洁灵活,可以使得Web开发更加敏捷。

它提供优雅的HTML和CSS规范,在jQuery的基础上进行更加个性化和人性化的完善。兼容大部分jQuery插件,并包含了丰富的Web组件,如下拉菜单、按钮式下拉菜单、导航条、按钮组、分页、缩略图、进度条和媒体对象等。自带了13个jQuery插件,其中有模式对话框、标签页、滚动条和弹出框等。

2、Foundation框架

Foundation框架总体来看要比Bootstrap略显高大上一点,但他们俩的设计理念都是非常清楚的,Bootstrap有引导的意思,它尝试处理你项目中的一切所需。Foundation有基础、地基及支柱的意思,给你项目中强有力的创造与支持。相对于Bootstrap丰富的组件及插件,Foundation仅提供了有限的几种元素,其目标是,即使你使用预定义的UI元素,也不应该与大家的网站长得太像。

而Bootstrap则致力于提供所有定义好的元素,这样使得看起来许多网站都差不多。Foundation默认不带图标集,它推荐使用开源字体图标。与Bootstrap一样,Foundation使用网格流式布局将网页划分为12列,针对不同的设备显示不同的列数,实现响应式布局。但Foundation不支持旧版本浏览器。其他特性如有兴趣可进一步了解。

3、Curl

Curl 是一个命令行工具,用于通过 HTTP(s)、FTP 和数十种其它协议进行请求。使用Curl可以进行文件下载、检查响应标题和自由访问远程数据。

在 Web 开发中,Curl 经常和 RESTful API 一起使用,用于测试连接。

# Fetch the headers of a URLcurl -I http://googlecomHTTP/11 302 FoundCache-Control: privateContent-Type: text/html; charset=UTF-8Referrer-Policy: no-referrerLocation: http://wwwgooglecom/gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQContent-Length: 258Date: Wed, 09 Aug 2017 11:24:01 GMT# Make a GET request to a remote APIcurl http://numbersapicom/random/trivia29 is the number of days it takes Saturn to orbit the Sun

Curl 命令可能比上述代码更复杂。有许多选项用于控制 headers、Cookie、身份验证等。了解更多,请阅读Everything curl。

4、Tree

Tree 是一个小型的命令行实用程序,它将目录中的文件以可视化的方式进行显示。它采用递归运行的方式,遍历每个级别的嵌套并绘制所有内容的格式树。这样就能快速的浏览并查找需要的文件。

tree├── css│ ├── bootstrapcss│ ├── bootstrapmincss├── fonts│ ├── glyphicons-halflings-regulareot│ ├── glyphicons-halflings-regularsvg│ ├── glyphicons-halflings-regularttf│ ├── glyphicons-halflings-regularwoff│ └── glyphicons-halflings-regularwoff2└── js ├── bootstrapjs └── bootstrapminjs

还可以使用简单的 regEx 模式来过滤结果:

tree -P 'min'├── css│ ├── bootstrapmincss├── fonts└── js └── bootstrapminjs

5、Tmux

根据维基的解释,Tmux 是一个终端复用器。通俗的说,它是一个能将多个终端连接到单个终端会话的工具。

Tmux允许用户在终端中的程序之间切换,添加屏幕窗格,并将多个终端连接到同一个会话,使其保持同步。在远程服务器上工作时,Tmux 特别有用,因为它允许用户创建新的选项卡,而无需再次登录。

6、du

du命令用于生成关于文件和目录的空间使用情况的报告。du很容易使用,可以递归地运行,遍历每个子目录并返回每个文件的大小。

du 的常见用例是:当某个驱动器的空间不足,用户不清楚每个存储器的大小。使用此命令可以快速查看每个文件夹所占用的存储空间,从而找到占用最大空间的存储器。

7、AUI

AUI是最近流行起来的,作者声称是专为APIClound设计的一套框架,解决了许多移动端开发实际中遇到的许多问题,是一个纯CSS框架。使用容器+布局+模块的构建方式,JS辅助,更自由更灵活更易于扩展使用。遵循Google Material设计规范,完美适配各个机型。面向HTML5,使用CSS3实现动画交互,轻量级高性能。AUI是使用MIT License授权,你可以复制、出售。目前最新版本20。

8、Amaze UI

这是称为妹子UI的开源框架,据称是中国首个开源HTML5跨屏前端框架。妹子UI以移动优先为理念,从小屏逐渐到大屏,实现响应式网页。Amaze UI包含20+个CSS组件、20+个JS组件,更有多个包含不同主题的Web组件。相比国外框架,妹子UI关注中文排版提供本地化支持。面向HTML5开发,使用CSS3来实现动画交互,轻量级高性能。

9、Frozen UI

Frozen UI是一款开源,简单易用,轻量敏捷的移动端框架。基于手Q样式规范,目前全面应用于企鹅手Q增值业务中。基础样式效果简单色调清爽,社区活跃,组件自然不少。包括按钮、列表、表单、通知、提示条、弹出框、选项卡等等常用组件。还包括一个FrozenJs的JS组件库。可以在主流的Android和IOS上应用。基本样式使用离线包的方式减少请求提供快速接入方案。当然,根据网友反映,也存在大大小小的bug。不过总体来说,还是值得一用的。奇怪的是,Github上显示的最后更新时间是一年前,难道已经没人维护了吗?

# Running this will show the space usage of each folder in the current directory# The -h option makes the report easier to read# -s prevents recursiveness and shows the total size of a folder# The star wildcard () will run du on each file/folder in current directorydu -sh 12G Desktop40K Documents40G Downloads40K Music49M Pictures844K Public40K Templates69M Videos

还有一个相似的命令 df(Disk Free),使用df会返回有关可用磁盘空间的各种信息。

目前常用的一些前端的框架如下:

1 Bootstrap

Boostrap绝对是目前最流行用得最广泛的一款框架。它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面。它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。

Bootstrap是用动态语言LESS写的,主要包括四部分的内容:

脚手架——全局样式,响应式的12列栅格布局系统。记住Bootstrap在默认情况下并不包括响应式布局的功能。因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能。

基础CSS——包括基础的HTML页面要素,比如表格(table),表单(form),按钮(button),以及(image),基础CSS为这些要素提供了优雅,一致的多种样式。

组件——收集了大量可以重用的组件,如下拉菜单(dropdowns),按钮组(button groups),导航面板(navigation control)——包括:tabs,pills,lists标签,面包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progress bars),媒体对象(media objects)等等。

JavaScript——包括一系列jQuery的插件,这些插件可以实现组件的动态页面效果。插件主要包括模态窗口(modals),提示效果(tool tips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转木马(carousel),输入提示(typeahead),等等。

Bootstrap已经足够强大,能够实现各种形式的 Web 界面。为了更加方便地利用Bootstrap进行开发,很多工具和资源可以用来配合使用,下面列举了其中的一部分工具和资源。

jQuery UI Bootstrap —— 对于jQuery和Bootstrap爱好者来说这是个非常好的资源,能够把 Bootstrap的清爽界面组件引入到jQuery UI中。

jQuery Mobile Bootstrap Theme —— 和上面提到的jQuery UI主题类似,这是一个为jQuery mobile建立的主题。如果你想让用Bootstrap开发的网站在手机端也可以优雅访问,那么这个资源对你来说很方便易用。

Fuel UX —— 它为Bootstrap添加了一些轻量的JavaScript控件。Fuel UI 安装,修改,更新以及优化都很简单方便。

StyleBootstrapinfo —— Bootstrap提供了自己的几种界面风格,StyleBootstrap提供了更多的配色选项,并且你可以给每个组件都应用不同的配色。

BootSwatchr —— 利用这个工具你可以立刻查看主题修改后的效果。对于每一次变动的效果,这个应用都会生成一个唯一的URL方便你与他人分享,你也可以在任意时刻修改你的主题。

Bootswatch —— 提供大量免费的Bootstrap主题。

Bootsnipp —— 在线前端框架交互组件制作工具,是一个供给设计师和开发者的基于Bootstrap HTML/CSS/JavaScript 架构的免费元素。

LayoutIt —— 通过界面拖放生成器简便快捷地创建基于Bootstrap的前端代码。通过拖放动作将Bootstrap风格的组件加入到你的个人设计里并且可以方便地修改他们的属性,简单便捷。

2、flex

Apache基金会发布了Flex 48版本,这是Adobe将Flex捐献给Apache基金会后发布的第一个版本

需要注意的是

2014年03月10日,Apache Flex技术社区发布了全新的Apache Flex 4120版本,该版本是Apache Flex 4110的升级版本,改进的功能包括:

◆支持最新版本的Flash Player

◆支持最新的AIR运行时

◆改进了内存占用和性能

◆改善了针对移动平台的组件的样式

◆支持iOS7系统

◆修复了超过80个漏洞[4]

2014年05月10日,Apache对4120版本进行优化改进,发布了Flex 4121,新版本加入对全新Flash Player及Air运行时的支持,改进对移动媒体查询的支持,并修复20多个Bug。

3、extjs

ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。

功能丰富,无人能出其右。

无论是界面之美,还是功能之强,ext的表格控件都高居榜首。

华丽的界面,灵活的功能,还有开发工具都是配套的,但有个最大的问题,用就得花钱!

4、easyui

easyui帮助你构建你的web应用更加容易。

它是一个基于jquery的插件,开发出来的一套轻量级的ui框架,非常小巧而且功能丰富。

但是她有一个最大的问题就是代码只能找到以前的开源的版本,到了12以后的版本源代码都是经过混淆的,如果遇到问题修改起来会非常麻烦!不过一个比较大的优势是开源免费,并且界面做的还说的过去!

5、MiniUI

又一个基于jquery的框架,开发的界面功能都很丰富。

jQuery MiniUI – 快速开发WebUI。

它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。

使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、弹出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。

界面做的挺不错,功能也挺丰富,但是有两个比较大的问题,一个是收费,一个是没有源码,说白了,不开源!基于这个开发如果想对功能做扩展就需要找他们的团队进行升级!

6、jQuery UI

jQuery UI 是一套 jQuery 的页面 UI 插件,包含很多种常用的页面空间,例如 Tabs(如本站首页右上角部分) 、拉帘效果(本站首页左上角)、对话框、拖放效果、日期选择、颜色选择、数据排序、窗体大小调整等等非常多的内容。

功能非常全面,界面也挺漂亮的,可以整体使用,也可以分开使用其中的几个模块,免费开源!

7、DWZ

DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架

设计目标是简单实用,快速开发,降低ajax开发成本。

欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.共同推进国内整体ajax开发水平。

毕竟是国产的,支持一下,而且源码完全公开,可以选择一下!不过性能怎么样不敢确定!

8、GWT

Google 网页工具包——GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。

你不用去了解这样那样的javascript框架,通过java你就可以写出功能丰富的界面,可以做单元测试,毕竟是google的产品,严重支持一下!

9、YUI

Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。使用授权为 BSD许可证,基本上没怎么研究过!

YUI Compressor倒是挺出名的,这套UI库不知道应用的情况怎么样!

10、Sencha

Sencha 是由 ExtJS、jQTouch 以及 Raphael 三个项目合并而成的一个新项目。

大公司的框架,并且是几样库的强强联合,值得推荐!

11、Dojo

在国内应用好像不是很广,不过性能上应该没问题。

Dojo是一个用javascript语言实现的开源DHTML工具包。

有多个基金会的支持,包括IBM和SUN,都是软件界的泰斗,值得信赖!

12、ZK

ZK是 一套以 AJAX/XUL/Java 为基础的网页应用程式开发框架,用于丰富网页应用程式的使用接口。最大的好处是,在设计AJAX网络应用程式时,轻松简便的操作就像设计桌面程式一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了多样丰富、可重复使用的XUL与HTML组件,以 及以 XML 为基础的使用接口设计语言 ZK User-interfaces Markup Language (ZUML)。

功能丰富,全面,文档齐全,而且升级了很多次,非常值得推荐!

13、OperaMasks-UI

OperaMasks- UI是OperaMasks团队 2011下半年打造的一款轻量级前端JS组件库,旨在提供一款学习曲线低、定制性灵活、样式统一,且多浏览器支持、覆盖企业业务场景的前端 JavaScript UI组件库。目前,该团队已将这一产品以LGPL 开源协议开放给社区。

文档丰富,功能齐全,而且很容易使用和开发!而且是国产的哟!

14、JavaFX

Sun 公司(已于2009年被Oracle公司收购)在2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序 变为可能。

给大家总结介绍主流的web后端开发框架。

一、Laravel

当我们谈到后端web开发框架时,laravel会出现在前面。自2011年成立以来,Laravel为开发者展示了一条光明的道路。Laravel是一个免费的开源PHP web框架,旨在按照模型-视图-控制器(MVC)架构模式构建最先进的web应用程序。

Laravel的一些特性是具有专用依赖管理器的模块化打包系统、有助于应用程序部署和维护的实用工具、访问关系数据库的许多方法,以及它面向语法的方向。这就是为什么它被认为是最好的PHP框架,并促使企业为他们的下一个项目雇佣Laravel开发人员的原因。

二、ThinkPHP

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP50以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

三、Yii

Yii与Aspnet非常相似,也是PHP中非常出色的开源web开发框架之一。Yii框架最适合为需要执行重复任务的系统开发应用程序。这个web开发框架具有内置的基于组件的模型、数据库抽象层、事件驱动的编程特性和模块化应用程序体系结构。Yii编码器遵循快速应用开发(RAD)。

换句话说,Yii允许您在非常短的时间内启动和运行web应用程序。此外,使用Yii框架,您还可以方便地根据不断变化的业务需求定制应用程序。使用简单的数据迁移实用程序,您可以方便地在不同的安装上升级/降级应用程序版本。因此,您也可以考虑为您的web开发项目雇佣Yii开发人员。

四、Symfony

symfony是一个PHP框架,非常适合大型或复杂的企业级项目。这是一个非常稳定的框架。Symfony 31(当前版本)帮助全栈开发人员创建可伸缩的网站,以灵活地更改业务需求。

Symfony可以使用一些最大的开源平台,如PHPBB、Piwik和Drupal。Symfony由一组PHP组件、一个应用程序框架、一个社区和一种哲学组成,所有这些组件协同工作,帮助实现web上的一个共同目标。这些原因使得Symfony成为web开发的高级框架。

五、CakePHP

cakephpCakePHP是一个用PHP编写的开源web开发框架,从一开始就在市场上非常流行。它基于模型-控制器-视图和关联数据映射的概念。通过使用CakePHP, processionals可以轻松地以结构化和快速的方式开发web应用程序。使用CakePHP的最大优势之一是它提供了详细的文档和实用指南,以及非常容易编写代码的框架。

因此,开发人员可以使用这个框架轻松地创建web应用程序。如果您选择这个框架进行开发,那么通过编写相对较少的代码,您将能够实现更多的功能。您甚至可以通过这个框架重用旧项目的代码,从而使CakePHP web应用程序开发速度更快。

现在比较常用的主流框架有Vue、React、Angular。

Angular

Angular原名angularJS诞生于2009年,之前我们都是用jquery开发,自从angular的出现让我们有了新的选择,它最大的特点是把后端的一些开发模式移植到前端来实现,如MVC、依赖注入等,创新式的双向数据绑定不知简化了我们多少代码,让我们为之疯狂,特别是表单处理方面,从此名声大噪。

好的框架一般会有两个结果,一个继续不断更新迭代,避免被拍死在沙滩上,一个是被一些大公司收购焕发第二春,angular属于后者被google所收购,且从20后改名angular并使用微软的typescript作为开发语言,目前最新版本80,照说傍上google与微软这两条大船,前途应该不可限量才对,然而造化弄人,现在angular的市场份额已经被React这个后起之秀和Vue这颗新星远远地甩到脑后。

React

React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其创新式的VirtualDOM,性能上碾压angularJS,一经推出,火的一塌糊涂。 特点很多,VirtualDOM、JSX、Diff算法等,支持ES6语法,采用函数式编程,门槛稍高,但也更灵活,能让开发具有更多可能性。

Vue

Vue作为最后推出的框架(2014年),借鉴了前辈angular和react的特点(如VirtualDOM、双向数据绑定、diff算法、响应式属性、组件化开发等)并做了相关优化,使其使用起来更加方便,更容易上手,比较少适合初学者。网上有很多人说Vue不适合做大型项目,纯属扯淡,Vue在这方面已经优化得很好,当然,大量的响应式属性(监听属性)也许会用一定的性能损耗,但在硬件、网络大力发展的今天,这些细微的性能差异几乎感觉不到。

目前最主流最流行的就是vuejs、reactjs 、angularjs这三大前端框架。

如果你要是想要知道前端UI的话,那就有很多很多,比如layui,elementUI,bootstrap,ant-design,easyUI等等。

不过还是要把js基础学扎实了,这样才是王道。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » web前端多端编程开发框架结构?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情