首页 / 要闻 / 加盟百科 / 「react开源项目」 如何评价 react native ios 开发

「react开源项目」 如何评价 react native ios 开发

2024.01.10 17:09

文章来源:顺利加盟网

阅读量:8
摘要:

react开源项目: 如何评价 react native ios 开发 React native充分利用了Facebook的现有轮子,是一个很优秀的集成作品,并且我相信这个团队对前端的

react开源项目: 如何评价 react native ios 开发

React native充分利用了Facebook的现有轮子,是一个很优秀的集成作品,并且我相信这个团队对前端的了解很深刻,否则不可能让Native code「退居二线」。对应到前端开发,整个系统结构是这样:JSX vs HTML CSS-layout vs css ECMAScript 6 vs ECMAScr...展开全部

react开源项目: 现在的开源项目 有哪些-百度知道

GitHub - Level/levelup: LevelDB LevelUp 是一个生态圈,设计自己的数据存储系统就像用乐高积木一样。GitHub - maxogden/dat: open source peer to peer data sharing P2P的数据同步系统。Patchwork - SSBC 设想一个完全去中心化的微博。GitHub - ...展开全部

react开源项目: 为什么我弃用Angular,转向React-百度知道

基于DOM执行。Angular的执行流程严重依赖DOM, Angular应用在默认的引导过程中会扫描DOM并按DOM中指令的优先顺序将模板编译,这样让调试和检测执行顺序变得困难。双向数据绑定是一把双刃剑。随着你的组件变得复杂,这种方式可能导致性能问题。双向绑...展开全部

react开源项目: react和vue哪个比较好

React和 Vue 以及是经常上 PK 台被进行比较的前端框架,我这边从以下几个方面对两者做一个比较,如果其中有理解不当的大家也可以随时纠正。学习曲线React陡峭的学习曲线是一直被诟病的一点。Vue 标榜的是一个渐进式的JavaScript框架,大部分开发这...展开全部

其他答案:肯德基和麦当劳你觉得哪个好? 各有千秋,如果要简单的说,我只能告诉你react的生态更好,vue更容易上手

其他答案:说实话,Vue就是垃圾,React也是(React Native不是,两个要区别开来)。如果你真想做好项目,项目之初就应该以上。为什么垃圾,其实这是js语法自身问题,还有前端团队技术问题,js语法太松散了,所以一票人写的乱七八糟,结构混乱到一B,各种私货漫天飞,这也有公司原因,过于追求敏捷开发,vue这种方便快捷的东西就受到追捧。但是项目运行一两年后你就知道什么叫维护起来蛋疼。其实ng最成功的地方就是全面ts语法,就算你想写的再渣也渣不起来,本身的静态检查就是为了避免人为乱搞。不过开发速度比vue慢的太多

其他答案:引用段vuejs官解释 vue比其框架 angular 选择 vue 选择 angular面几原每都适合: api 与设计两面 都比 angular 简单快速掌握全部特性并投入发 更加灵放解决案允许希望式组织应用程序任何候都必须遵循 angular 制定规则仅仅视图层所嵌入现页面定要做庞单页应用配合其库面给更空间相应需要做更架构决策例 核默认包含路由 ajax 功能并且通假定应用使用模块构建系统能重要区别 angular 使用双向绑定vue 支持双向绑定默认单向绑定数据父组件单向传给组件型应用使用单向绑定让数据流易于理解 指令组件更清晰指令封装 dom 操作组件代表自给自足独立单元 —— 自视图数据逻辑 angular 两者少相混 更性能并且非非容易优化使用脏检查angular watcher 越越变越越慢作用域内每变化所 watcher 都要重新计算并且些 watcher 触发另更新脏检查循环(digest cycle)能要运行 angular 用户要使用深奥技术解决脏检查循环问题没简单办优化量 watcher 作用域 则根本没问题使用基于依赖追踪观察系统并且异步列队更新所数据变化都独立触发除非间明确依赖关系唯需要做优化 v-for 使用 track-by 意思angular 二 vue 用相似设计解决些 angular 一 存问题 react 确实些相似 —— 都提供数据驱、组合搭建视图组件许同 首先内部实现本质同react 渲染建立 virtual dom ——种内存描述 dom 树状态数据结构状态发变化react 重新渲染 virtual dom比较计算给真实 dom 打补丁 virtual dom 提供函数式描述视图真棒使用数据观察机制每更新都重新渲染整应用定义保证视图与数据同步辟 javascript 同构应用能性 使用 virtual dom 使用真实 dom 作模板数据绑定真实节点 应用环境必须提供 dom相于见误解——virtual dom 让 react 比其都快 实际性能比 react 且几乎用手工优化 react优化渲染需要处处实现 shouldcomponentupdate 使用变数据结构 api 面react(或 jsx)问题渲染函数包含量逻辑终看着更像程序片断(实际)界面视觉呈现于部发者说能觉优点些像咱兼顾设计发说模板能让自更视觉思考设计 cssjsx javascript 逻辑混合干扰自代码映射设计思维程相反 通模板加入轻量级 dsl (指令系统)换依旧直观模板且能逻辑封装进指令滤器 react 另问题:由于 dom 更新完全交给 virtual dom 管理想要自控制 dom 点棘手(虽理论做做本质违背 react 设计思想)应用需要特别自定义 dom 操作特别复杂间控制画限制讨厌面 更灵许用 制作 fwa/a至美ards 获奖站点 推荐vue入门简单公司用愁没要react入门难函数式编程吓啊真用angular推

react开源项目:为什么BAT中普遍使用React,甚至淘宝也从KISSY转向了React?

React已经在蚂蚁金服使用了一年多的时间,基于React/React-Native我们开发了移动端和pc端的基础组件react-componentantdantm,整合业界最佳实践推出了简单易用的开发工具ant-tool和应用架构roof,服务于蚂蚁金服以及阿里集团的多个业务,取得了良好效果;本次分享将介绍我国过去一年基于React的最佳实践以及展望

基于 React 的前端架构在蚂蚁金服的实践

今天我的主题是是基于React的终端架构,其实还是主要侧重于前端,终端是我们未来前端的一个方向我在阿里的工作分为两个阶段第一个阶段是2010年进淘宝之后,一直做的就是 kissy 类库开发还有周边的工具2014年的时候去了蚂蚁金服,蚂蚁金服的开发策略是全栈开发,所以需要一个技术转型,所以我们这边就选择了React

首先介绍一下蚂蚁金服前端的业务特点蚂蚁金服是由支付宝进化而来的,现在是四大业务,支付宝个人消费,然后是蚂蚁聚宝,主要侧重于理财的,网上银行侧重于企业银行业务的开发,还有一个是侧重于个人消费的O2O的口碑,这个是我们的四大业务

前端面临的业务非常多,而且目前移动端都是结合 web 混合式的,大家可能也听说过阿里已经开发了一个 weex的框架,或者结合react-native来做动态化等等其实它的语言甚至都是javascript,就是对于前端来说这些都是一样的

除了移动端的东西之外,每一个APP的业务下面都会有对应的很多的后台业务支撑,比如做运营的话,就需要运营平台,阿里的特色就是特别注重运营,其实我们内部有很多这种运营平台,都是给小二用的

然后对于蚂蚁的话,蚂蚁有很多的商家,商家也需要商户平台来管理自己的运营只靠专业前端是那么对于前端来说,这么多业务在国内前端都普遍欠缺的情况根本做不过来的所以蚂蚁的一个战略就是说前端不要只做前端的事情了,就是把这些业务的前端工作教会全栈来做

前端就要像DBA一样要提供一些业务支持,提供一些资源服务的一些支持转型就是说我们要走全站研发这样一个模式业务需求最好都是有对应的全栈来做,然后结合产品经理做快速响应需求而前端要做的事情就是要打造一个适合全栈开发的基础设施

前端团队也是在进行转型,不再直接的投入业务,不再像一个资源一样,哪里有业务需求就去哪里而是要进行一个转型,我们只提供服务,而我们服务的输出就是我们的技术产品,就是我们基于 React做的一些类库,或者是做了一些设计的封装,那么培训全栈直接用就可以了

我后面所讲的前端架构面向的观众其实都是全栈的开发,不是前端开发,所以我们的架构会有一些改变

首先我们选择的底层类库是React,我们为什么要选择React技术站,而没有像以前那样我们基于jquery或者 kissy继续做,其实有一些原因

首先React技术栈是比较先进的,它是目前流行的函数式,基于不可变数据并且它是非常务实,在 facebook全网都有应用,经过大量实战考验

第二个是生态圈非常繁荣,React是从2013年发布到现在 star 一直在涨,现在已经四万多了,并且 redux, react-router等等这些类库层出不穷,并且质量非常高

第三个是适用性广,适用性广的话也是根据我们的特点,我们要打造全栈工程师,就希望他们能够用尽量少的技术来应对各种应用场景,无论是 native 端还有web端都希望用一种技术来开发,而React的话,就是提供了我们这样的技术,比如说React和React-Native

第四个是我没写出来,是针对我们公司的,因为蚂蚁金服的后端开发人员是以JAVA开发为主,而React技术栈的整个架构和后端的JAVA架构其实是比较类似的,比较容易被后端开发所接受经过这一年的验证,也确实证明这一点,非常容易上手

我们选型的核心技术是React,ES2015然后还有 typescript是目前正在推进的一个改进,也是特别贴近我们公司的业务,因为我们后台的应用非常复杂,业务逻辑非常多,后端开发是用JAVA,有很多的类型保护这个系统不会轻易的崩溃等等当他们转到前端以后,发现前端太灵活了,根本搞不清楚这个对象里面有哪个方法,属性是什么类型,经常会传错或者运行时抛错,而导致一些对我们前端来说是不可思议的错误我们现在在引进 typescript来对我们的技术产品做一个静态类型的增强,避免一些无谓的错误

我们要打造适合全栈的前端基础设施,这个是我们目前的一个架构图

底层是基于 npm 的,在公司内部对应于 tnpm,大家如果熟悉JAVA的话,就是相当于 maven的这种包管理工具,然后我们会 ant-tool 这样一个编译工具,对应JAVA的话,相当于JAVAC等等的一些工具然后在这之上的话会有一些基础组件,然后基于这些组件我们会封装出适合全栈开发用的一些技术产品通常是融合我们的设计的,比如 antd,然后再结合我们提供的应用架构,全栈就可以基于整个体系来进行业务开发了

首先是包管理器,生态圈很重要,npm 是整个世界上所有的语言中生态最繁华的,里面基本上是应有尽有,所以说我们选择了 npm,并且也是React生态圈推荐的一个管理工具

在我们内部的话,其实阿里在很早以前就已经开始了 nodejs 应用,在我们内部的话,npm 也是有对应的镜像 tnpm,这样的话,前端可以把我们内部的一些应用模块也发到 tnpm 去,各个业务之间想共享模块的话,就直接从 tnpm 拉取就可以了,另外为后期的优化打造了一个坚实的基础

工具方面我们也是基于业界的一些优秀方案进行封装,webpack的功能是非常强大的,配置也是非常复杂的,配置文件可能经常就有几百行的样子所以说对于全栈开发来说,除了业务开发,还要熟悉 webpack 的配置等等我们希望全栈能够专注于业务我们根据自己的经验总结把它封装起来,这样的话就是一个简单的命令行工具,可以实现代理,构建,离线打包等,还有代码规范的约束

最终输出是一个脚手架,因为直接用工具的话,还是比较复杂的因为还知道它的很多命令啊,怎么用啊,直接输出脚手架,我们会把这些开发工具通过npm script来暴露出来,这样就可以直接进行开发还有构建等等,不需要了解更多工具细节了

我们目前组件分成三大部分,首先是底层的react-component,这个在 github上开源了,这些底层组件的话通常是不涉及设计的,就是它没有设计要素在里面,只是实现结构和功能,那么在基于这个组件,会有基于我们的设计的封装,还有移动端的封装

因为React是跨终端的,所以这些组件,在编写的时候也是考虑了多终端下面的运行,如果是通用组件的话,就是没有前缀,然后这些组件的话经常是用PC还有PAD 等大屏设备上的如果有m 前缀的话,这些都是我们单独为移动端 UI的交互所实现的同时会适配web和native,组件的API是一样的,如果运行环境支持 react-native 的话,那么业务就可以跨终端运行了

组件规范包括assets,样式的话我们目前选择是BEM,然后通过 prefixCls 来适配不同的设计,这样的话底层组件不仅能够适配蚂蚁金服的 ant design 设计上,还可以适配到阿里巴巴的其它一些设计

源码 src 部分是ES6,目前是向 typescript迁移,并且部分组件的话会适配 react-native如果基于这套脚手架来实现的话,会支持很多开源的一些基础设施,比如 travis 持续集成平台,coverall 测试覆盖率平台

组件开发时通过 npm run dev启动开发服务器,可以访问示例地址进行开发测试通过 npm test在终端测试,还可以进行 npm run chrome-test,在 chrome 中进行可视化测试,还可以进行debug

通过 pre-commit 进行提交检测,代码检测通过后才会真正的提交到代码库

目前采用的是ES2015,所以是不能是直接发到 npm上面用的,我们用 npm run pub 命令,执行编译和发布,把 es6/typescript编译为 ES5代码,进行提交发布,构建项目展示页这样就完成了组件的一个完整的开发流程

组件开发完成还不是真正的完成,还需要样式来适配,我们对外暴露的是一个设计语言,包括封装好的组件,组件包含功能设计和交互,这些是全公司统一的,有一定的设计原则,然后还有一些设计模式的沉淀,有对应的工具,参考案例,然后会培训全栈来开发,培训产品经理设计

Ant design是跨终端的,它可以后台,也可以针对移动端遵循的原则其实首先是非常实用的,这个设计语言我们是希望能够统一蚂蚁金服的设计第二它是小而美的,它的组件是非常多的,可以根据业务特点按需使用

后面两个就是它是有统一的交互和动画,形成一个统一的品牌输出

实现包含两个部分,第一个就是PC端的实现,PC端的实现就是antd,这个库的话目前已经开源,在ATM里面包含了很多组件,它是对底层组件的一个封装,然后融合设计,形成了一个统一UI,用户只需要组件,进行一些布局和拼装

我们也在进行国际化,蚂蚁金服现在也在进行一些国际化的业务,那么对于多语言的支持也是有非常强烈的需求同时我们在国外的话也有一些影响,一些国外的开发者希望我们能够更国际化一些,现在会增加一些国际化的文件,对文档进行翻译,我们是和国外的开发者一起进行的,我们翻译之后会请那些国外开发者来 review

使用的时候不需要关心样式,和那个JAVA里面的import是一样的直接通过标签化的使用,进行一些业务处理会有一个 babel 插件进行按需加载,如果直接用 import antd的话,打包后会很大所以有了这个插件之后,可以进行按需加载

是一个SPA的单页面应用,依赖一个工具叫 bisheng.目前 antd在国内外取得了比较好的影响目前 star有4200多了

ant design mobile一方面要考虑web端,要考虑小屏场景,另外一个就是我们要考虑react-native,能够同时用在web和react-native,并且通过React组件的封装达到一致的API比较 react-native,如果 react-native 有的组件,web端也要实现,如果 react-native 没有的话,web 端和 native 都要实现

antm web 端基础设施和 antd 是一样的,ios 和 android 是单独的基础设施,可以通过 npm 命令来直接运行展示

三套组件定位不一样配置也不一样底层组件配置多, antd主要满足蚂蚁金服的统一品牌,配置少,交互设计固定,面向用户是全栈用户和初级的前端用户扩展性也不一样只有组件不行,还需要应用框架,组件拼装,处理了展示层的问题,业务要和服务器进行交互,处理数据和联动,这样的话就需要应用框架,应用框架的话我们目前是有两套方案,我们之前开发了非常简单的一个数据绑定库,因为我们在做业务的时候发现经常碰到数据联动的需求我们采用经典的订阅和发布模式 另外对于一些特别复杂的业务,比如说像金融云,使用起来挺麻烦的

后面我们侧重于社区,会从社区里面找一些优秀的类库形成企业端的应用框架

单页应用需要一个库来响应URL变化获取数据获取数据之后传给React渲染,渲染之后响应交互,响应交互之后我们再处理数据,把这个数据再传给服务器,或者对这个数据进行一个二次加工,然后再传给对应的组件来进行服务,比较固定的流程

我们就选择了一些优秀类库来实现这种场景比如说URL到数据这样的一个控制,我们可以通过 react-router 来实现,那么当这个UR发生变化之后,那么React就会重新渲染我们的组件,这个组件就可以获取数据,然后获取数据的话我们可以通过新的标准,以及 fetch 来方便我们和服务器来进行内部交互

有了数据之后,通过redux把数据映射到react,通过CSS module,避免了CSS冲突通过脚手架的形式来输出来,组件放在哪里,还有那个路由放在哪里,都是通过目录的形式来约定,这样的话就是避免了代码的腐化前面是说服务器交互的话,服务器交互我们用的是 fetch/falcor两种方案基于 async/await 把异步回调转化为同步调用

另外一个就是 falcor, 通过 falcor可以**减少了页面请求,特别是首屏的展现,提高响应速度

最后总结下开发流程,通过 npm 下载 antd 和其他需要的类库,然后拼装组件后结合应用架构完成业务需求业务落地主要是antd,从发布一年多以来,覆盖全部系统40%,新的业务占有率是100%

未来是希望能够把静态类型引入到类库中去,这样的话减少传统的后端开发人员开发前端代码时的错误

移动端的目标是 web 和 native 齐头并进,达到组件API的兼容,能够在各个终端快速迁移服务器端探索 falcor 或 graphql,通过这种统一数据模型来规范前后端交互 完善国际化的资源和文档,支撑蚂蚁金服的国际化发展

最后是业务模式库,和业务方面结合,规范我们的业务,通过提供通用的业务组件来更好的支持多业务线之间的共享

react开源项目:app用react,vue这样的统一开发好还是用原生的分开开发好?

先说下是否用原生分开开发还是用前端框架统一开发,实际上目前用原生开发的成本相对高得多,因为你需要有不同平台(IOS、安卓、Web)的工程师进行开发,毕竟好的全栈工程师也是比较少而且一般需要不同版本同时上线。

从这些角度看,前端框架统一开发可以多端运行,虽然现在有新闻说苹果决定IOS可能不给Web端的上线,为了稳固IOS的软件生态,但从实际角度看目前还是在前端框架上开发性价比更高。那我们简单比较下react和vue这两个框架目前各自的特点。

React VS Vue:人气

Javascript启动新框架和库的速度非常快。让我们看一下2019年的最新统计数据,以了解React和Vue之间哪个更受欢迎。Google趋势:折线图中显示了Google对Vue和React的搜索趋势。与相比,React在这些搜索中遥遥领先。

React VS Vue:背景

Vue

: Google的前工程师Evan You于2014年创建了此Javascript框架。它没有得到著名的顶级组织的支持。版本是 2019年3月20日的最新版本。推出仅五年,这使其成为javascript家族中最年轻的成员,但目前Vue的易用性、功能强大非常受到大家的推荐。

React:与Vue不同,这个JavaScript库是由Facebook创建的。Facebook广告流量管理是其创建背后的主要原因,所以它以创建动态和交互式用户界面的能力而闻名。

React VS Vue:性能

React:它有一个虚拟的DOM,它是轻量级的,不是特定于浏览器的。这是React与虚拟DOM一起普及的主要原因,它消除了效率低下的问题。

Vue: Vue也已经使用了虚拟DOM,但是与React相比提供了更快的性能,它还确保了无错误的性能。

React VS Vue:社区支持

React:为了维护不断增长的广告活动流量,Facebook开发了此Javascript库。Facebook员工致力于为React的功能添加新的和高级的功能。这为React开发人员之间的库提供了强大的可靠性。

Vue:它是由前Google工程师开发的,但没有任何顶级品牌的支持。但Vue的实用和易用获得了开发人员的意外欢迎和支持,目前Vue在Github这些开源社区获得了强大的支持。

React VS Vue:框架大小

React的大小比略大。React大约为100 KB,Vue的大小为80 KB。框架/库的大小可能会对软件开发项目的运行速度会有更多影响,所以Vue更适合轻量级应用。

总的来说,我们可以总结一下关于React vs Vue的以下几点:

  • 与Vue相比,React是目前更为流行的前端框架,但国内实际上Vue会更流行一些,因为Vue是国人开发,有非常好的中文文档支持;
  • React有Facebook大厂的支持,Vue目前没有,不过Vue的开源社区也是非常活跃;
  • React提供了比Vue更大的灵活性,但Vue在大小上小于React。

react开源项目:react vue angular项目源码在哪里找?

react vue angular项目源码在哪里找?

React Github:

Vue Github:

Angular Github:

共勉

个人正在分享前沿技术,如果感兴趣可以关注一起交流与学习。

感谢阅读

个人观点,仅供参考。

文章来源:顺利加盟网

风险提示及免责条款

[温馨提示] 文章来源于顺利加盟网,转载注明原文出处,此文观点与查生意无关,理性阅读,版权属于原作者若无意侵犯媒体或个人知识产权,请联系我们,本站将在第一时间删掉 ,查生意仅提供信息存储空间服务。

发表评论 (0)
0/200
暂无评论哦,快来评论一下吧!