当前位置:首页 » 网页前端 » androidweb框架有哪些
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

androidweb框架有哪些

发布时间: 2023-02-27 04:17:41

① android app开发中常用到哪些开源框架

在前面的课程中,随着对Android体系的了解,已经可以进行正常的Android应用开发了。在Android开发中,同其他工程开发一样,也经常使用一些提高效率的框架,本文我们做一个对比。这些框架,既包括:网络请求框架、也包括图片加载库框架、还包括数据库操作等一些框架,总之,了解和熟悉这些框架,会对自己的开发效率有很大的提升和帮助。

网络请求框架

1、okHttp

在前文的学习中,我们已经了解过okHttp,是一个常用的网络加载库。

2、Retrofit

介绍

Retrofit是一个很不错的网络请求库,该库是square开源的另外一个库,之前的okhttp也是该公司开源的。

Retrofit是基于OkHttp封装的RESTful网络请求框架,使用注解的方式配置请求。优点是速度快,使用注解,callback函数返回结果自动包装成Java对象。官方自己的介绍说:

A type-safe REST client for Android and Java

该网络框架在github上的地址如下:https://square.github.io/retrofit/

要求

Retrofit支持的http方式方式包括 GET/POST/PUT/DELETE/HEAD/PATCH,Retrofit要求Java的版本是1.8+,Android应用的API版本应该在21+。

依赖

使用Retrofit库,和其他库一样,首先需要设置依赖,依然是在build.gradle文件中设置依赖:

//添加retrofit库依赖

implementation ‘com.squareup.retrofit2:retrofit:2.1.0’

//添加gson转换器

implementation ‘com.squareup.retrofit2:converter-gson:2.1.0’

使用

通过一个例子,我们可以来演示该框架的使用步骤:

1、定义请求接口,即程序中都需要什么请求操作
public interface HttpServices {

/**

  • 获取头条新闻

  • @param type 新闻类型

  • @param key apiKey

  • @return

  • */

    @GET(“toutiao/index”)

    Call getNewsList(@Query(“type”) String type, @Query(“key”) String key);

    }

    2、实例化Retrofit对象,使用的Builder的模式创建,如下代码所示:
    Retrofit retrofit = new Retrofit.Builder()

    .baseUrl(Constants.BASE_API)

    .addConverterFactory(GsonConverterFactory.create())

    .build();

    注意,这里设置结构体转换器,是可以直接把网络请求回来的数据转换为Java结构体,这里设置的Gson解析器,因此要引入相应的转换器支持库。

    3、得到接口对象,自己创建的全局的接口对象,并调用相应的接口,得到一个类似于请求Call对象。如下所示:
    HttpServices httpServices = retrofit.create(HttpServices.class);

    Call newsListCall = httpServices.getNewsList(“top”, Constants.API_KEY);

    4、加入到请求队列中,并设置回调方法:
    newsListCall.enqueue(new Callback() {

    @Override

    public void onResponse(Call call, Response response) {

    //网络请求成功的回调方法

    List list = Arrays.asList(response.body().result.data);

    Log.i(“TAG”, “请求成功:” + String.valueOf(list.size()));

    NewListAdapter adapter = new NewListAdapter(RetrofitActivity.this);

    adapter.setmData(list);

    mRecyclerView.setAdapter(adapter);

    }

    @Override

    public void onFailure(Call call, Throwable throwable) {

    //网络请求失败的回调方法

    Log.i(“TAG”, “请求失败:” + throwable.getMessage());

    }

    });

    其他界面操作和之前的Android中的内容一致。

    3、RxJava

    简单来说,用来处理事件和异步任务,在很多语言上都有实现,RxJava是Rx在Java上的实现。

    原理

    RxJava最基本的原理是基于观察者模式来实现的。通过Obserable和Observer的机制,实现所谓响应式的编程体验。

    特点

    RxJava在编程中的实现就是一种链式调用,做了哪些操作,谁在前谁在后非常直观,逻辑清晰,代码维护起来非常轻松。

    RxJava也是一个在github上的库,githubhttp://www.xingkongmj.com/news/id/62.html地址如下:https://github.com/ReactiveX/RxJava

    基于此,还有一个RxAndroid,github地址如下:https://github.com/ReactiveX/RxAndroid

    RxJava和RxAndroid的关系

    RxAndroid是RxJava的一个针对Android平台的扩展,主要用于 Android 开发。

    基本概念

    RxJava 有四个基本概念:

    Observable:可观察者,即被观察者Observer:观察者subscribe:订阅事件
    这四个概念之间的逻辑关系是:Observable和Observer通过subscribe方法实现订阅关系,从而Observable可以在需要的时候发出事件来通知Observer。

    事件

    RxJava 的事件回调方法主要包含以下几个:

    onNext:普通的事件onCompletedhttp://dachang.net/432717.html:事件队列完结。RxJava 不仅把每个事件单独处理,还会把它们看做一个队列。RxJava 规定,当不会再有新的 onNext 发出时,需要触发 onCompleted 方法作为标志。:事件队列异常。在事件处理过程中出异常时, 会被触发,同时队列自动终止,不再允许再有事件发出。在一个正确运行的事件序列中, onCompleted和 有且只有一个,并且是事件序列中的最后一个。需要注意的是,onCompleted() 和 () 二者也是互斥的,即在队列中调用了其中一个,就不应该再调用另一个。
    数据库操作框架

    在开发时,本地数据库可以起到缓存数据和存储业务数据的作用,随着技术的成熟,不断推出了有很多关于数据库的操作框架。比较常见的数据库操作框架有诸如:GreenDao,OrmLite 和 ActiveAndroid,DBFlow等。

    GreenDAO

    GreenDAO是一个开源的 Android ORM(“对象/关系映射”),通过 ORM(称为“对象/关系映射”),在我们数据库开发过程中节省了开发时间!

    GreenDao的官方文档地址如下:http://www.xingkongmj.com/news/id/63.html

    GreenDao的作用

    通过 GreenDao,我们可以更快速的操作数据库,我们可以使用简单的面相对象的API来存储,更新,删除和查询 Java 对象。这款数据库操作框架的特点是:

    高性能,在官方的统计数据中,GreenDao在GreenDao,OrmLite 和 ActiveAndroid三个框架中,读、写、更新操作效率均表现第一。易于使用的强大 API,涵盖关系和连接。内存消耗较小。安全:greenDAO 支持 sqlCipherhttp://www.xingkongmj.com/news/id/64.html,以确保用户的数据安全;
    核心概念

    GreenDao 的核心类有三个:分别是:

    DaoMaster:保存数据库对象(SQLiteDatabase)并管理特定模式的 DAO 类(而不是对象)。它有静态方法来创建表或删除它们。它的内部类 OpenHelper 和DevOpenHelper 是 SQLiteOpenHelper 实现,它们在 SQLite 数据库中创建模式。DaoSession:管理特定模式的所有可用 DAO 对象,您可以使用其中一个getter方法获取该对象。DaoSession 还提供了一些通用的持久性方法,如实体的插入,加载,更新,刷新和删除。XXXDao:数据访问对象(DAO)持久存在并查询实体。对于每个实体,greenDAO 生成DAO。它具有比 DaoSession 更多的持久性方法。Entities:可持久化对象。通常, 实体对象代表一个数据库行使用标准 Java 属性(如一个POJO 或 JavaBean )。
    使用

    按照官方的文档和github上的说明可以实现green的使用。

    首先进行的是依赖,对于greenDao,有两个地方需要设置,分别是项目根目录中的 build.gradle,还有mole中的build.gradle。
    classpath ‘org.greenrobot:green-gradle-plugin:3.3.0’ // add plugin

    在项目根目录中的build.gradle目录中写这句话的意思是添加greenDao的插件。

    在项目mole中的build.gradle中也需要进行配置,有两个地方需要设置,如下图所示:

    apply plugin: ‘org.greenrobot.greenhttp://www.xingkongmj.com/news/id/66.html’ //开头加入该代码

    dependences{

    implementation ‘org.greenrobot:green:3.2.0’

    }

    然后就可以使用了。

    bean实体

    可以在项目中创建自己业务需要的实体类,并通过注解来设置是实体类,字段约束等内容。然后点击Android Studio中的Make mole,即可自动生成XXXDao代码,以此来方便开发者的操作。生成的XXXDao类,不可修改和编辑,是自动生成的。

    ORMLite

    ORMLite框架是另外一款Android开发中可以使用的数据库操作框架。该框架的文档地址如下:https://ormlite.com/sqlite_java_android_orm.shtml

    该框架的文档准备的不是特别友好,此处不再赘述。

    总结,所有的框架原理几乎都相差不大,只是操作有所差异。

    视图注入框架

    在Android项目开发过程中,有太多的页面需要布局完成,同时在代码中需要些大量的findviewbyid的操作,来实现控件的解析。于是就有人想能否轻松一些,解放双手节省时间,干一些其他有意义的事情,于是ButterKnife就来了。

    ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。

    该项目在github上的地址如下:http://www.xingkongmj.com/news/id/65.html

    这个框架的优势也非常明显:

    强大的View绑定和Click事件处理功能,简化代码,提升开发效率方便的处理Adapter里的ViewHolder绑定问题运行时不会影响APP效率,使用配置方便代码清晰,可读性强
    使用

    首先是设置依赖,在build.gradlehttp://dachang.net/432714.html中进行依赖设置:

    implementation ‘com.jakewharton:butterknife:10.2.1’

    annotationProcessor ‘com.jakewharton:butterknife-compiler:10.2.1’

    需要注意,该框架要求Java环境1.8版本以上,SDK版本在26以上,因此在使用到的mole中的build.graldle文件中,还必须添加如下代码配置:

    apply plugin: ‘com.jakewharton.butterknife’

    android{

    //…

    compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_8

    targetCompatibility JavaVersion.VERSION_1_8

    }

    //…

    }

    另外,还必须在项目根目录中的build.gradle文件中,添加该框架的插件,如下图所示:

    dependences{

    classpath ‘com.jakewharton:butterknife-gradle-plugin:10.2.1’

    }

    然后即可在代码中进行使用了。

    在使用该框架的页面进行绑定诸如,如下所示代码:

    ButterKnife.bind( this) ;

    主要的功能

    @BindView():控件id 注解,解放双手,不用再每个控件都写一遍findviewById@BindViews():多个控件id 的注解,括号内使用花括号包括多个id即可,中间用,分割开在Fragment中使用,绑定Fragment。@BindString():绑定字符串@BindArray:绑定数组@BindBitmap:绑定bitmap资源@OnClick、@OnLongClick:绑定点击事件和长按事件…还有很多
    插件安装

    如果是页面很复杂,一个一个写BindView也很费劲,在Android Studio中,可以安装一个ButterKnife的插件,安装该插件后,可以在Studio中直接将对应的布局中的所有控件均给自动生成。

    注意,在进行自动生成时,鼠标要放在布局文件上。

    注意事项

    ButterKnife框架在使用时,要求的版本比较高,包括Java的版本也有限制。因此,如果计划在项目中使用,要提前做好预备工作,以防止对已有项目和业务带来不必要的麻烦,反而影响工作进度。

② WEB移动端开发使用什么框架比较好

很久以前整理了篇将手机网站做成手机应用的JS框架。时隔一年多,很多新的技术已经出现,下面再来总结下还有哪些框架是适合面向手机设备的开发的。

1、jQuery Mobile

jQuery Mobile 是 jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。

2、jQTouch

jQTouch 是一个 jQuery 的插件,主要用于手机上的 Webkit 浏览器上实现一些包括动画、列表导航、默认应用样式等各种常见UI效果的 JavaScript 库。支持包括 iPhone、Android 等手机。

3、DHTMLX Touch

DHTMLX Touch是一个免费的HTML5/JavaScript框架,专门为触摸屏设备而优化。为您带来快速开发工艺精美的移动Web应用程序的能力。DHTMLX Touch UI Designer是一个可视化的编辑器用于构建移动用户界面。它能够帮您以最少的编码构建一流的用户界面。在其主页上提供一些示例可以展示DHTMLX Touch强大的用户界面。包括一个menu app for the iPad (适用于开发餐厅应用) 和Book Shop (一个电子书店应用)。

4、Mobilize.js

Mobilize.js是一个开源的HTML5-JavaScript框架用于从任何现在有标准网站快速,简便地构建移动网站。这个框架其实就是将需要在移动设备上显示的部分页面以jQuery Mobile的默认主题显示,而不是实现一个全新完整的移动页面。Mobilize.js 可用于任意网站,但对于基于WordPress和Sphinx的网站不需要使用该框架转换,因为已经有非常多的插件可以使用。

5、The M Project

The-M-Project是另外一个强大的JavaScript框架,它利用HTML5新的特性来更好和更简便地开发移动应用。这个框架遵循着名的MVC软件架构模式。它还支持离线,所以你的用户可以在没有连接网络的情况下继续操作(当下次有连线的时候,再将数据同步到服务器中)。提供优秀的文档(这个项目拥有一个引导新用户入门的开发指南)。可以查看提供的示例来对该项目有一个初目的了解。这些示例包括:ToDo App(待办事项目应用) 和 KitchenSink (这个示例包括这个框架提供的所有UI元素)。

6、WebApp.Net

WebApp.Net 提供了很多的 API,因此可以帮助你节省很多工作了。不需要花时间去进行 Ajax 调用的编码,因为已经内置了,另外还有很多其它内置功能,提供了详细的文档和应用演示。

7、Wijmo

Wijmo是一个基于jQuery UI的UI部件的套件。Wijmo部件进行了优化客户端Web开发和利用jQuery的优越的性能和易用性的力量。所有的Wijmo部件都配备了20多个主题和支持ThemeRoller。

8、960 Grid on jQuery-Mobile

jquery-mobile-960 是一个用于移动 Web 开发的网格框架,综合了 960.gs 的灵活性和 jQuery Mobile 的方便性。它的目的是让 jQuery Mobile 布局更加的灵活,使得应用应许在移动终端更加易用。

9、Sencha Touch Framework

Sencha Touch 是世界上第一个基于 HTML5 的移动 Web 开发框架,支持最新的 HTML5 和 CSS3 标准,全面兼容 Android 和 Apple iOS 设备,提供了丰富的 WEB UI 组件,可以快速的开发出运行于移动终端的应用程序。Shencha是第一个使用HTML5,CSS和JavaScript并且支持音频/视频,本地存储,圆角,渐变背景以及阴影的开发框架。

10、NimbleKit

NimbleKit 是为 iOS 设备构建应用程序最快速的方式,你不需要知道 Objective-C 或者 iOS SDK,你只需结合 JavaScript 代码编写 HTML 页面就可以了。

11、Touchy™ Boilerplate

Touchy Boilerplate 是一个用来创建移动web app,包括HTML模板,Meta tag等的工具。Touchy可以支持动态页面导航,固定页头,滚动内容,浏览历史记录等功能。Touchy使用jQuery或者 Zepto.JS。

12、PhoneGap

PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是免费的,但是它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。

13、joshfire

Joshfire是一个开源的跨设备开发框架,帮助开发者创建可以在多种设备上运行的web app。它使用HTML5和JavaScript,并且允许开发者快速整合本地应用和特定的web应用。Joshfire可以让你的应用接受键盘,鼠标,触摸屏,遥控器等设备的输入。Joshfire支持Node.JS。4.Sencha Touch:基于HTML5的移动网页开发框架。

14、 Julia

Julia框架由基本CSS3文件、JS库和各个平台的运行库构成。不像PhoneGap,Julia不仅仅包含调用本机代码的接口层,它还包含 Model-View-Controller(MVC)支持,Delegation支持,OAuth支持,异步数据库存取接口,HTML选择符(类jQuery调用接口),HTML模版(允 许嵌入JS代码)等应用开发必备的API接口。 基于Julia的应用开发就像网站开发那么简单,是的,你终于可以用HTML5开发一个完整的、跨平台 的、不亚于本机代码的、易于维护的移动应用了!大幕即将揭晓,让我们一起进入移动开发的新时代

15、SproutCore HTML5 Application Framework

SproutCore 是一个 HTML5 移动 Web 开发框架,它的目标是在无需浏览器插件的情况下,在浏览器中位应用程序提供极佳的桌面效果。

16、Titanium

这是一个强大的,健壮的移动Web开发框架。能够让使用现有的HTML, CSS和JavaScript知识来为 iOS和Android平台开发原生移动应用。作为一个越来越大的移动Web框架,它拥有超过300个的APIs和活跃的开发者社区。你从这个社区中得到每一个开发人员的帮助。Titanium Mobile支持原生的iOS和Android UI元素如Table views, tabs, switches和popovers。它提供能够与移动设备的摄像头和本地文件存储系统相交互的特性。

17、Lungo.js

Lungo.js 是一个采用HTML5, CSS3 和JavaScript技术实现的移动Web应用程序开发框架。利用这框架开发的应用程序可运行所有流行的平台包括:iOS, Android, Blackberry 和 WebOs。它还支持触摸事件如:tap, double-tap和swipe。整个框架没有用到任何图片包括图标,所有都矢量化。可以在这个框架中使用HTML5拥有的一些特性如:WebSQL, 地理位置定位,历史或设备方向等。Lungo.js是一个模块化并且完全可定制的框架。

18、xui.js

有时候你可能需要一个超轻量级的框架,只要拥有用于开发标准客户端所需要的功能如:DOM操作,事件处理,Ajax和一些动画效果。如果是这样的话,这个框架刚好非常适合你。整个框架采用GZIP压缩完之后只有4.2 KB。

19、EmbedJS

EmbedJS是一个用于嵌入式设备的JavaScript框架如:移动电话,TVs、tablets和so forth。EmbedJS强大之处在于,它拥有专门为特定平台和浏览器如iOS, Firefox, Android等提供相应的开发版本。这样就能够以最少的代码,为用户提供最佳的体验。而且假如你喜欢自己定制,可以利用其提供的EmbedJS Build tool工具实现。EmbedJS基于Dojo实现,所以你如果熟悉Dojo API语法,那EmbedJS将是你最佳的选择。

20、zepto.js

zepto.js是一个专为mobile WebKit浏览器(如:Safari和Chrome)而开发的一个JavaScript框架。它标榜自己在其简约的开发理念,能够帮助开发人员简单、快速地完成开发交付任务。更重要的是这个JS框架,是超轻量级的,只有5KB。zepto.js的语法借鉴并且兼容jQuery。

21、Baker

Baker是用来在iPad或者iPhone平台上发布交互式的电子书或者电子杂志的HTML5电子书框架。

22、ChocolateChip-UI

ChocolateChip-UI 是一个手机移动 Web 开发框架,采用 HTML5, WAML, CSS 和 JavaScript等技术实现。基于 ChocolateChip JavaScript 框架,包含最新的 ChUI.JS 和 ChUI.css.

23、Magazine Grid

Magazine Grid 是一个超现代的 CSS 框架,用于 iPad 和 iPhone 手机,使用类似杂志的设计风格。Magazine Grid 可让用户使用 HTML5 元素来组织杂志页,非常轻量级(<4k),在移动设备上加载非常快,对老的浏览器也支持。

24、Kendo UI

Kendo UI是一个强大的框架用于快速HTML5 UI开发。基于最新的HTML5、CSS3和JavaScript标准。 Kendo UI包含了开发现代JavaScript开发所需要的所有一切,包括:强大的数据源,通用的拖拉(Drag-and-Drop)功能,模板,和UI控件。

25、HTML App Host Framework

这是一个用于构建基于 Windows Phone 7 的 HTML/JavaScript 托管框架,使用 HTML5 技术。该框架由支持在标准 xap 格式中嵌入 html 应用的控件。

③ web前端主流框架主要有哪些

1、Bootstrap


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

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 on each file/folder in current directory. -sh *1.2G Desktop4.0K Documents40G Downloads4.0K Music4.9M Pictures844K Public4.0K Templates6.9M Videos

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

④ 移动APP开发框架盘点2:Web移动前端框架大全

开源项目其实有一个成熟周期,这个周期大概是三年左右,自React框架在2013年发布并引爆了前端框架的大潮,这个属于前端的周期就此开始了。

之后在2015年5月开源的React Native又开启了属于Web移动前端的周期,15-16年,18-19年,21-22年正好就是属于移动前端的三个爆发点。

三年前,在第一个成熟收获期,我盘点了移动开发框架。在这第二个成熟收获期,理所当然要来盘点一波。

不过,当我点开github项目的code-frequency时,还是被这个准到吓人的周期猜想惊呆了,先给你们看一波,剩下的自行验证。

1、https://github.com/youzan/vant/graphs/code-frequency

2、https://github.com/quasarframework/quasar/graphs/code-frequency



再来说第二个比较有意思的发现,停止维护的项目绝大多数是Vue框架项目。

盘点开始的时候我还觉得React框架处于绝对劣势,到完成时我发现React无论在选择面还是成熟度上都超过了Vue。

原因我这里就不分析了,反正大家都有自己的看法。

网页类框架就是前端组件框架,这一次虽然有大量项目停止维护,但是也有很多项目坚持了下来,而且还涌现出了一批新项目。

大厂占了主导,因为这些年大厂在移动开发上的需求,远高于其它方面。个人项目要坚持确实不易。

本来是想要做一个验证项目,把所有框架都试用一遍并给出推荐度的。由于进度太慢,还是下一次再发吧。

这次的重点是渐进类框架,就是所谓多端同构框架(小程序框架)。这几年国内的重点的各种小程序平台,所以多端框架的需求很是旺盛。

不过大多数先行者都没挺过来还是让我很意外,只有Taro成功了,想想还是有很多让人唏嘘的东西。

在这里还是先预测一波吧,因为这一类框架最变化最大,最终还是有很多框架要出局的。

渐进类框架是一个过渡性的产品,最终会变成桥接类框架的一部分,所以,与桥接类框架协同才是框架的出路。

这个赛道基本全是大厂了。

腾讯新一代跨端开发框架Hippy

Hippy一看就是淘宝Weex的对标项目,Kpi功能全面压制。所以官方支持 React 和 Vue 两种主流前端框架。在Weex2019年实质停更后发布,要不要这么卷?

Hippy 2.x 架构主要分成三层,UI(JS) 层 Hippy-React 和 Hippy-Vue 负责驱动 UI 指令生成;中间层 C++ HippyCore 负责抹平平台差异性和提供高性能模块;渲染层 Android 和 iOS 负责提供终端底层模块、组件,并与布局引擎通信。

对Weex惨遭遗弃,我上次就说过:“ReactNative提供工具,Weex提供框架,将平台差异化屏蔽(Write Once, Run Everywhere)。所以Weex则注定功能相对弱小,并且坑比较多。”Weex最终下马也是必然的,淘宝又发布升级版北海,为了实现(Write Once, Run Everywhere),它采用自绘,而且是基于Flutter自绘。

所以Hippy3.x就一如既往的Kpi功能层层加码,很有腾讯风格。在未来的 3.x 中业务与渲染层中的具体实现可根据用户实际场景进行切换:业务层上不再局限于 JS 驱动,还可选择(如:DSL/Dart/WASM 等)其它语言进行驱动;在渲染层中,渲染引擎除了支持现有原生(Native)渲染之外,还可以选择其他渲染 Renderer,如 Flutter(Voltron) 渲染。

“Kraken 北海”是一款高性能Web渲染引擎。底层基于 Flutter 进行渲染。

Kraken 不限制上层开发者使用的框架,无论你是使用 Vue 、Rax 还是 React 都可以开发 Kraken 应用。

Kraken 的 runtime 通过 JS Engine Binding 的方式提供了一系列 Web 标准的 API 接口,调用相应 API 会执行相关逻辑并创建一系列需要发送给 Dart 层处理的指令。

Kraken 其实就是一个小程序平台,而且追求全平台完全一致。我虽然认为各平台不一致是很自然的事情,但是也表示理解,毕竟别人吹牛有当真的传统(KFC表示认同)。

Kraken 现在也是一个小号浏览器,所以它的主要工作就是抠标准,毕竟它是一款基于 W3C 标准的高性能渲染引擎。

最后,我劝淘宝领导定Kpi要理智些,毕竟Hippy4我还蛮期待的。

滴滴出品的超轻量级动态化跨端开发框架,主打轻量和实用。

Hummer 以 JS 引擎为基石,目前已支持 JavaScriptCore、Hermers、QuickJS 等业内知名 JS 引擎(这里本来还有个V8的,我删除了,源码里面没有,Kpi需要)。再配合经过调优的 Yoga 布局引擎,抹平了两端视图布局差异(性能更佳的自研布局引擎开发中)。顺便提一下,Hippy采用V8(功能更强)自研布局引擎(性能更佳)。

Hummer 的特点是抛弃了业界其他动态化跨端框架普遍使用的DSL层和VDOM层,因此原生 Hummer 不具备前端开发常用的响应式编程的能力,但同时换来的是接近原生开发的体验和性能。再以原生 Hummer 为基础,在此之上开发了一套基于MVVM架构的开发框架 —— Tenon ,通过 Tenon,可以把使用 Vue/React 编写的代码,转换成原生 Hummer 的代码。

Hummer也是一个小程序平台,而且超轻量。如果想要无限提升自己APP的能力,可以考虑嵌入Hummer。

Web移动前端框架正在迎来第三个高速发展期,各类框架得到极大繁荣。

个人在具体项目的贡献已经微乎其微了,创新、架构创新是唯一制胜的手段,这也是我看好React的根本原因。

最后,还是想做点微不足道的 探索 ,现在前端组件库层出不穷,更换组件库带来的代价有点大。想创建一个框架,来实现上次说的组件公约数和公倍数,无缝切换组件库。理论上支持所有组件库 ,也能为后来者提供弯道超车的机会。我想大厂可能没有需求,也不会愿意发布这种框架,毕竟都是平台部门说了算。

这个库就是useMobile,当然分为useMobileReact和useMobileVue。下次先发布useMobileReact。等我发布后,再来填上面表中缺的推荐度。

原文地址: https://www.cnblogs.com/windfic/p/16019457.html

⑤ 前端常用的框架有哪些

在Web前端开发中,适时地使用一些框架,对于我们日常的开发,可以说是事半功倍。那么,常用的Web前端框架有哪些呢?程序员常用的Web前端开发框架如下:
1、Bootstrap
Bootstrap流行的CSS框架,它是最早的Web前端框架,Bootstrap提供了许多实例来帮助入门。使用Bootstrap可以将不同的组件和布局组合在一起,从而创建有趣的页面设计,还提供了大量详细的文档。
2、QUICK UI
QUICK UI一套完整的企业级web前端开发解决方案,由基础框架、UI组件库、皮肤包、示例工程和文档等组成。使用QUICKUI开发者可以极大地减少工作量提高开发效率,快速构建功能强大、美观、兼容的web应用系统。
3、MDC Web
Material Components for the web(MDC Web),谷歌为Web设计的全新前端框架。MDC Web帮助开发人员执行Material Design,组件由谷歌的核心工程师团队和UX设计人员开发。这些组件可以建立可靠的开发工作流程以构建美观且功能强大的Web项目。
4、Pure
Bootstrap,Patternfly和MDC Web功能非常强大的CSS框架,但非常繁琐复杂。如想要一个轻量级的CSS框架建议尝试Pure.css,本身更接近于CSS编程,但又可以帮助构建一个不错的网页。Pure是具有最小占用空间的轻量级CSS框架由Yahoo开发根据BSD许可是开源。
5、Foundation
Foundation声称是世界上最先进的响应式前端框架。它提供了用于构建专业网站的高级功能和教程。许多公司,组织都使用该框架,并且该框架具有大量可用的文档。
6、Bulma
Bulma基于Flexbox的开源框架可根据MIT许可证开源。一个非常轻量级的框架,只需要一个CSS文件。Bulma拥有简洁明了的文档可轻松选择想要的主题。还具有许多Web组件可以在设计中使用它们。
7、Skeleton
轻量级框架Skeleton。Skeleton库只有大约400行,且该框架仅提供一些基本的CSS框架组件。Skeleton还是提供了详细的文档来帮助快速上手。
8、Materialize
Materialize 是一个基于 Material Design风格的一个现代化的响应式前端框架,解决了最繁重的工作,结合的自定义组件为提供默认的样式。Materialize的文档页面非常全面很容易遵循。其组件页面包括按钮,卡片,导航等。
9、Bootflat
Bootflat是从Twitter的Bootstrap派生的开源CSS框架。与Bootstrap相比Bootflat更简单更加轻量级。大部分都是图像没有太多的文字。
10、PatternFly
PatternFly是Red Hat的开源CSS框架,和Bootstrap不同的是Bootstrap是为那些想要创建漂亮网站的人而设计,而PatternFly主要专注于企业应用程序开发人员提供诸如条形图、图表、导航之类的组件,实际上Red Hat就是使用它创建了OpenShift。除了静态HTML,PatternFly还支持ReactJS框架,这是Facebook开发的流行JavaScript框架。PatternFly具有许多适用于企业级应用程序的高级组件,如条形图,图表,模式和布局。
11、flex
Flex目前还在孵化阶段,还不是Apache的正式项目,Flex4.8也不是一个正式的Apache版本。,该版本标志着Flex新时代的开始,Flex的未来将由社区来驱动而不是由一个公司驱动。开发者可以通过贡献代码来帮助改进Flex,如修复bug、增加功能等。
以上就是分享的Web前端开发常用的一些框架。程序员们可以根据自己的业务需求选择简洁直观、功能强大的前端开发框架,让自己的工作更迅速简单,提高开发的效率。