kraken
kraken copied to clipboard
能否支持flutter开发kraken
目前kraken已经支持使用Rax、Vue、Rect,而框架是基于flutter的,难以避免一点不使用flutter开发,这样一个团队就需要至少两个技术栈的人员,这样小团队很难搞得定。
因为flutter转js本身都支持, 如果使用flutter开发,然后通过工具转换成Rax、Vue、Rect中的一种,这样只需要稍微了解熟悉的js框架即可,技术栈就能统一。
这样一个团队可以使用flutter开发app的同时,在需要热更新的地方使用kraken,等业务稳定,可以随时在flutter和kraken之间随意切换。
kraken 支持的是 W3C 的标准。因为 Rax、Vue、Rect 是基于标准构建,所以支持。
我印象中 flutter web 的实现方式是基于 canvas 的,目前 kraken 并没有对 canvas 完全支持。况且,两次转换,渲染时的性能问题很难保障。
kraken 可以作为 flutter 的 widget 使用。需要热更新的业务使用 kraken 便好。
听起来你的场景是使用 flutter 开发,但是仍需要一定的动态化能力
我的建议是使用 flutter web + WebView,没有比官方提供的 flutter to js 更好的实现了
kraken 确实更多的是面向前端开发者,所以如果是使用 flutter 技术栈进行业务逻辑组装的话,还是有差异
@wssgcg1213 flutter web到底还是web,第一印象性能还是差很多。 大概有两点述求: 1、拥有动态化的同时技术栈的统一,因为kraken是前端技术,而一般前端是不会flutter,更何况iOS/Android的原生。 实际上kraken想要做的精,效果很丰富,flutter、原生、前端可能都要去学习,这样对开发人员要求较高,小公司成本就很高。
本身flutter跟前端很像,就是因为需要懂原生就导致了前端同学很难解决flutter涉及原生的问题,现在搞它的更多的是客户端同学。 现在再加一个前端技术这样链路又长了,这样前端和客户端的开发都很难hold住。 所以才建议折个中,这样学习成本的相对降低能更容易在项目中推广,至少客户端同学应该没有问题。
2、动态化更多情况是验证产品逻辑或者解决线上问题的时候使用, 如果一旦稳定,项目中还有那么多动态化的代码版本可能更难以管理。 这个时候如果开发语言是flutter,可以随时从动态化的模块剥离集成到base项目中,体验可能也会更好一点。
-
Kraken 动态化的前提是引入 js vm, 在 js 环境下最自然的开发方式就是 W3C 标准, 如果自己做一套模棱两可的 API 反而会面临生态缺失和无尽的答疑和打补丁的问题, 这个 React Native 和 Apache/Weex 都已经踩过一些坑了, 所以 Kraken 一定会坚持 Web 标准而不会在 JS 侧引入其它的绘制界面的接口标准。至于静态的 dart 转 js 的转换器这个也超过 Kraken 本身的职能边界了。
-
学习成本的问题对于任何技术尤其是新技术都是一样的, 从我个人的视角看有两种解法, 对于大团队客户端下沉架构提供解决方案, 前端更灵活只聚焦于业务逻辑组织; 对于小而精的团队大前端的概念或许可以作为参考, 不过这也提高了对开发者个人的要求. Kraken 目前所处阶段会要求使用者有一定解决问题的能力, 所以对于需要快速拓展的产品我个人会建议使用 WebView, 稳定更重要
另外我们也有设想过把 Web API 引入到 Dart 环境中, 在想清楚它能做什么和怎么做之前, 这还是一个中长期的规划
@wssgcg1213 多谢解答,还有两个疑问。
1、Kraken 支持W3C 标准,那教程里面提到只支持内联样式,这样很多第三方组件未必按这个要求来哎。
2、如果使用flutter for web的html渲染方式是否也能跑在Kraken上面,它里面用的也是html标准的标签。
@wssgcg1213 多谢解答,还有两个疑问。 1、Kraken 支持W3C 标准,那教程里面提到只支持内联样式,这样很多第三方组件未必按这个要求来哎。 2、如果使用flutter for web的html渲染方式是否也能跑在Kraken上面,它里面用的也是html标准的标签。
- 外联样式已经支持了, 包括
<link>
,<style>
, 文档我再 Check 一下 - Flutter for web 还是用 WebView 好一些, 多绕一层感觉有一些走弯路
js vm 感觉很多性能问题,希望有一个 纯 dart 控制事件的 kraken @wssgcg1213
js vm 感觉很多性能问题,希望有一个 纯 dart 控制事件的 kraken @wssgcg1213
@yuchonghua 可以具体描述一下实现方案吗, 伪代码 is OK
希望能够在 dart 绑定各种事件,控制css布局,然后整个事件全部在dart中获取到,css也可以在dart中传入kraken dom操作也通过dart控制,完全剥离js
你期望的是使用 flutter 开发的代码,可以实现热更新吗?
不是,我是希望通过 kraken 来开发布局,但是事件使用 dart来控制,dom操作也是,不使用任何js