[Flutter翻译]我们如何建设我们的Flutter团队

3,601 阅读5分钟

原文地址:medium.com/snapp-mobil…

原文作者:medium.com/@jasperamor…

发布时间:2019年11月5日 - 4分钟阅读

我已经有一段时间没有从头开始建立一个新的开发团队了。然而,我最近开始着手建立Snapp的Flutter团队。在这篇文章中,我解释了我是如何让Flutter在一个全新的团队中扎根并茁壮成长的。

照片:Nik MacMillan on Unsplash。

在2019年建立一个Flutter团队是有一些挑战的。

  • Flutter是新的,虽然它的声誉正在增长,但它还没有很好地建立起来。建立一个Flutter团队意味着您和您的同事正在对一项新技术进行押注。

  • 很难找到具有Flutter重要经验的人,即多个实时项目运行一段时间。你很可能会在没有经验丰富的Flutter领导的情况下建立一个团队。

  • Flutter开发的架构和实践正在出现。在这个阶段很难评估各种方法。这使得它更难建立首选的实践,并可能意味着初始项目可能会采取完全不同的架构方法。

  • 你必须确保你能为你的团队创造一个稳定的好项目流。闲置的团队往往不会在一起呆很久。他们需要技术挑战,需要构建真实世界的产品,最重要的是发布到用户手中。

鉴于这些挑战,我们要如何去建设我们的Flutter团队。

演习本

在我们的项目中,通常会看到一个移动应用的许多方面。我们正在把这些汇集到一个游戏手册中,可以作为团队构建Flutter应用时的参考。

这本剧本参考了文章、pub.dev上的包、我们已经编写的代码和Flutter文档。我们的目标不是要创建一个单一的架构,而是要映射出现有的Flutter知识和方法,这样我们就可以尽快地进入主题。最终我们很可能会确定首选的做法,Flutter社区也会这样做。

究竟哪些内容会进入游戏手册?诸如处理不同布局(纵向与横向、手机与表格)、整合推送通知、本地存储、应用阶段、api集成、多平台构建、模块化应用、CI、测试等话题。

专注与专长

为了让团队尽快发挥效力,我们决定采取分而治之的策略。这意味着我们创建了3条知识轨道。

  • Layout & UI - 与构建应用程序用户界面相关的主题,包括管理多种布局、平台变化、动画和用户交互。

  • 数据与API管理--在不同场景下调用API(如REST与GRPC、流数据等),管理应用中的数据(如Bloc、Provider等),与UI的集成。

  • 跨领域主题--这是我们的 "其他 "桶,用于CI、编写插件、处理深度链接、推送通知等主题。

我们的方法是让团队中的每个成员每次专注于一个轨道,作为一种专长。一旦我们觉得自己对当前的轨道有足够的了解,我们就会轮换轨道。

传道

在Snapp,我们对技术有很多热情和强烈的观点。这为我们使用的技术创造了一些健康友好的辩论。作为一个倡导新技术的团队,还没有长期的成功记录,这意味着我们必须成为布道者。

传播者对一个团队来说是积极的。当以一种建设性的方式进行时,它鼓励团队对一项技术进行更深入的挖掘,以便向其他人解释。对于我们的团队来说,这也意味着我们必须在与其他技术的背景和对比中理解Flutter。同样,这也有助于拓宽知识面。

乐趣

作为一个团队,开心总是健康的。我所说的 "乐趣 "并不是指在办公室里胡闹或打乒乓球。

这里我指的是极客的乐趣。具体来说,我们会做一些事情,比如抛出一些小的编码挑战或技术问题给团队中的其他人。当以开放和友好的方式进行时,我们发现我们能学到很多东西。这也有助于创造一种团队文化,在这种文化中,我们可以犯错误(即把事情做错),并在我们不知道什么的时候相信别人会帮助我们。

警告--我也见过这种事情以一种有毒的方式进行,团队成员用它来试图让自己看起来很聪明,而牺牲别人的利益。不要这样做

举个例子,最近同事提出的一个Dart语言挑战是要从一个句子中提取所有的词,这些词都是回文

实验

在客户项目中,很难突破界限。一个未知的框架或未经验证的方法会给项目带来不必要的风险。(可以说使用Flutter本身在2019年还是有点实验的意思)。

因此我们把一个简单的项目作为实验的游乐场。例如,我对基于Flux的架构如何与Flutter合作感兴趣。实验项目是尝试这个问题的最佳场所。

我们在Flutter团队中选择了两个实验项目。一个是一个简单的ToDo应用--是的,不是很原始。第二个是一个最初由Juhani Lehtimäki建立的用于学习西里尔字母表的应用程序。试试Play Store的Android版本)。

TL;DR

你如何围绕一项相对较新的技术去建立一个团队,该技术还没有强大的跟踪记录以及新兴的模式和框架? 这是任何在2019年建立Flutter团队的人所面临的挑战。 在这篇文章中,我们描述了我们要去建立Flutter团队的一些方法,并解决随之而来的挑战。


通过www.DeepL.com/Translator(免费版)翻译