首页 > 其他分享 >谁告诉你 Flutter 会凉了的?

谁告诉你 Flutter 会凉了的?

时间:2023-08-29 16:36:43浏览次数:30  
标签:原生 会凉 代码 Flutter 跨平台 开发 告诉 flutter

谁告诉你 Flutter 会凉了的?_跨平台

谁告诉你 Flutter 会凉了的?

又是谁告诉你flutter不值得你去学的?

现阶段搞app原生开发确实日薄西山Q,毫无前途

目前来说,flutter还是有很大潜力,至少我身边不少人再用flutter开发的。

我从flutter一发布就开始做futter开发,到现在已经做了四年,这四年做了不少项目,也接触了不少flutter开发者,从我接触到的人看,纯前端背景转做flutter的,在我眼里没有一个合格的!

这是因为futter毕竟属于是一个客户端·开发,而不是前端,无论是安卓还是iOS,这些都是原生客户端开发,这些门槛比前端要高。

你做flutter开发,至少要懂一点原生开发,而且代码也不能按照s那种脚本语言“风格来写。纯前端写出来的futter项目,大部分都是垃圾代码,后续几平无法维护。如果写过几年Java代码,那你写的flutter代码只,起码有点规矩,起码融入了一些面向对象编程设计思想

有人质疑我没有例子无的放矢,那我就举个常见的例子。

前端写flutter,似乎根本不知道什么叫依赖倒置原则只,一切都耦合到一起。他就不知道弄个抽象接口层来隔离。譬如对数据库的操作,直接合用hive库写死。

一开始hive数据库勉强够用,后面数据越来越多,hive%就完全不行,这时候想切换到sglite%就异常痛苦。你要想改造,就得在他一坨屎一样的代码里理清头绪,用sgflite重写。如果他知道什么叫依赖倒置,完全可以把上层需要对数据操作的接口抽象出来,底层直接实现这些接口方法切换到sglite就行了

我也面试过一些flutter求职者,我一般从这几个方面提问,具体来说,是Flutter开发者应该掌握的几个方面:

  1. Dart代码编写的设计思想与规范:了解Dart语言的基本特性以及编写高质量代码的规范,有助于提高开发效率和代码质量。
  2. Dart异步模型与Flutter事件循环原理:掌握Dart的异步编程模型和Flutter的事件循环机制,有助于更好地理解和处理异步任务。
  3. Flutter性能优化:了解如何优化Flutter应用的性能,包括布局性能、渲染性能、内存占用等方面的优化方法。
  4. Flutter状态管理与组件化开发:掌握状态管理方案和组件化设计原则,有助于提高应用的可维护性和扩展性。
  5. Flutter与原生结合部分的知识:包括插件、与原生通信、Android和iOS基本常识等。深入了解这些内容有助于更好地与原生应用进行融合。

面试求职者时,这些问题可以作为考察其Flutter开发能力的依据。但目前市场上很多Flutter开发者在这些方面的素质尚未达到要求。因此,想要从事Flutter开发的前端开发者,可以从这些方面入手,提高自己的综合素质。

所以不是Flutter 凉了,而是很多滥竽充数的人把这个环境搞臭了。

谁告诉你 Flutter 会凉了的?_跨平台_02

关于 Flutter 真正的定位

最后聊聊 flutter 的定位,flutter 作为跨平台 UI 框架,很众多跨平台框架一样,它是和原生相辅相成的存在,跨平台解决的问题是:

1、开发成本

直接学 Java/Kotlin 、Object-C/Swift 、JavaScript/CSS 去写各平台的代码可以吗?

当然可以,这样的性能肯定最有保证,但是跨平台的主要优势在于代码逻辑的复用,减少各平台同一逻辑,因人而异的开发成本。对于企业而言,一套业务逻辑可以在多处使用是最理想也是最保险的。

2、学习机会

一般情况下,各平台开发者容易局限在自己的领域开发,而作为应用开发者,跨平台是接触另一平台或领域的过渡机会。

3、团队结构

一般而言做跨平台的团队还是会有 Android 和 iOS 的原生开发,甚至于在大中型项目中人数都不会变少,但是用跨平台会让所有人都参与都一个开发进度中,而不是 iOS 和 Android 各做各的,最后再扯谁的实现有问题。

你要真正懂这些,就不会觉得Flutter 凉了。

每次出现新的技术框架都有猛吹的,也有抗拒的,

为什么有抗拒的?因为人是懒的,也是容易自傲的,当有新东西出来,还比自己现在用的好,心灵深处就会有一个声音 不断的暗示你(你的技术已经过时了),让你会觉得烦躁,你就会觉得焦虑,让你难以面对。

但是像腾讯、百度、阿里、京东、美团、字节、快手等大厂都在招聘Flutter相关的岗位,从做引擎架构到做应用开发的都有。

不只是大厂,很多创业公司也开始选择Flutter作为app开发技术栈,反正现在招android/iOS开发越来越难了,与其每边各招一个人,何不选择Flutter把一个人当两个使?以前很多创业公司是用React Native的,现在有了性能更好的Flutter也开始慢慢迁移技术栈了。

综上,我们可以知道Flutter目前在业界的影响力已经不小了,而且还在慢慢扩大。

所以对技术有追求的移动端开发,也可以尽早开始学习Flutter。无论几年后Flutter发展成什么样,只要现在大厂还有加大对Flutter投入的趋势,你入坑Flutter就会更有竞争力和机会。假如Flutter今后大火了,那早入局的你就能吃到先行者的红利;即使Flutter几年后凉了(概率很小),学习Flutter的各种知识你也不亏(Flutter组件化开发、声明式语法、Widget - Element - Render Object 三棵树和渲染管线都是很值得学习和研究的理念),跟随大厂的节奏也会让你走在业界的前沿。

想要了解更多Anrloid相关知识可以点击下方课堂链接                          https://edu.51cto.com/course/32703.html Android课

标签:原生,会凉,代码,Flutter,跨平台,开发,告诉,flutter
From: https://blog.51cto.com/u_16163452/7277587

相关文章

  • Flutter系列文章-Flutter在实际业务中的应用
    不同场景下的解决方案1.跨平台开发:在移动应用开发中,面对不同的平台(iOS和Android),我们通常需要编写两套不同的代码。而Flutter通过一套代码可以构建适用于多个平台的应用,大大提高了开发效率,降低了维护成本。2.混合开发:在一些已有的原生应用中,引入Flutter可以用于开发某些特定......
  • 后端架构演进史:告诉你成为架构师的标准
    你想成为一名架构师,对吗?别对我撒谎,我知道你想成为架构师。即使你不想,你还是想成为一名更好的开发者。否则,你就不会花时间阅读这篇文章。 这种态度值得赞赏。毕竟,我们都希望在自己所从事的领域变得更好,即使不能称为最好。我在这里就是为了帮助你实现这一目标。 那么,你如何......
  • Flutter跨端方案:2023年后 Flutter 还能火多久?
    前言随着Flutter3.10(包括对Web、mobile、图像、安全性等方面的持续改进)、Dart3的发布(带来了100%健全的空安全),我决定重新(开始)认识Flutter。不可否认的是,在数字时代,移动应用程序已成为大多数公司的必备品。随着智能手机的持续普及多,更多企业正在转向移动应用程序开发,以更有......
  • flutter升级错误“Your flutter checkout has local changes that would be erased by
    在升级FlutterSDK时可能会报如下错误:Yourfluttercheckouthaslocalchangesthatwouldbeerasedbyupgrading.Ifyouwanttokeepthesechanges,itisrecommendedthatyoustashthemvia“gitstash”orelsecommitthechangestoalocalbranch.Ifitisok......
  • flutter使用腾讯IM插件tencent_cloud_chat_sdk打安卓报“从内部类中访问本地变量param
    使用tencent_cloud_chat_sdk5.2.0版本打包安卓flutterbuildapk报以下错误/Users/tanglin/Documents/flutter/.pub-cache/hosted/pub.flutter-io.cn/tencent_cloud_chat_sdk-5.2.0/android/src/main/java/com/qq/qcloud/tencent_im_sdk_plugin/util/CommonUtil.java:401:错误:......
  • flutter中通过遍历一个数组,给每个元素添加一个开关按钮怎么写
    要通过遍历一个数组给每个元素添加一个开关按钮,你可以使用ListView.builder来构建一个包含开关按钮的列表。下面是一个示例,展示了如何遍历一个数组并为每个元素添加一个开关按钮:List<bool>switchValues=List.generate(5,(index)=>false);ListView.builder(itemCount:sw......
  • flutter中initState(),实现异步操作
    在Flutter中,如果你需要在initState()中执行异步操作,可以使用async和await关键字。以下是一个示例,展示了如何在initState()中执行异步操作:@overridevoidinitState(){super.initState();fetchData();//异步操作示例}Future<void>fetchData()async{//......
  • Flutter都出到3.X了,Flutter会成为一片蓝海吗?
    前言先说个人的看法和结论:在现如今众多的前端技术方案中,选择学习Flutter是一个明智的选择。谈谈我的几点理由:一、FlutterSDK的版本号来到了3.x,可以对Windows、macOS和Linux桌面环境提供正式支持。二、Flutter和平台原生的性能表现几乎没有差别,这一点是ReactNative(RN)、Vu......
  • Flutter系列文章-Flutter 插件开发
    在本篇文章中,我们将学习如何开发Flutter插件,实现Flutter与原生平台的交互。我们将详细介绍插件的开发过程,包括如何创建插件项目、实现方法通信、处理异步任务等。最后,我们还将演示如何将插件打包并发布到Flutter社区。第一部分:Flutter与原生平台交互在Flutter项目中,你......
  • flutter中开关按钮
    在Flutter中,你可以使用Switch组件创建开关按钮。Switch是一个常用的用于表示二进制状态(开/关)的切换按钮。以下是一个简单的示例,演示了如何创建一个开关按钮并处理其状态变化:import'package:flutter/material.dart';voidmain(){runApp(MyApp());}classMyAppextendsSta......