Blog
Blog
PHODAL

查看分类 Full Stack

花仲马,五一在加班,我便只得找点事情做。

最近一直在编写 Gradle 以及 Intellij IDEA 相关的东西。由于市面上最复杂的相关的开源软件就是 Android 相关的,即 Android Studio 和 Android Gradle Plugin,于是我也在不断学习相关地源码。所以,我写了很多相关的文章,在介绍相关的内容。文章中包含了大量的技术细节和实现,所以这些技术文章也就只能在我的博客上看到了。

前端有架构吗?前端有架构模式吗?

在上一篇文章《前端困境:个人篇》中,我们讨论了关于个人在前端领域遇到的一些问题和挑战。在这一篇文章中,我们将关注于组织中的前端技术挑战。

下次有人问你这个问题的时候,请抛出这篇文章。

这是一个愚蠢的问题吗?不,这是一个很难的问题。恕在下直言,我真不知道,什么叫类似于 xxx 的应用?

最近,朋友圈都在晒 Uncle Bob 的新书《Clean Architecture》(中文名《架构整洁之道》)的相关内容,书架上也因此新增了一本书。阅读了之后,倒是产生了一些想法,便想写篇文章记录一下。

每个人都有自己对于代码的看法,有自己的偏好。对于我来说,也是如此。作为一个实用主义者,我遵循的东西,比较少,也比较简单。多了,记不住,也不实用。

很遗憾的是,在今日的我看来,仍旧是两年前的那个观点:全栈是未来。这次并不是因为大公司全职业,小公司全栈,而是技术的门槛越来越低——人工智能 API 化、后端无服务器、跨平台应用。 在过去的一年里,我的主业仍然是前端开发。而如大家所见,我在这些日子里,也尝试了不同的技术领域移动开发,如 React Native 乃至于原生的 Android 开发,又或者是使用 Serverless 开发的后台应用。尽管仍遇到一些大大小小的挑战,这样一来,也有一些新的收获。不免还是觉得自己还是幸运的,不是在四年的工作里重复一年的工作经验。 很遗憾的是,在今日的我看来,仍旧是两年前的那个观点:全栈是未来。这次并不是因为大公司全职业,小公司全栈,而是技术的门槛越来越低——人工智能 API 化、后端无服务器、跨平台应用。 跨平台移动应用 --- 跨平台,一种特别有意思的技术,它在底层上个隔离了不同系统,因此也在某种程度降低了开发难度。 也因此能支撑越来越多的开发人员,更容易走上全栈的道路。它可以是使用同一种语言,如使用 JavaScript 可以开发前端、后端、移动端的应用;它也可以是使用某一特定的技术栈,如 React 来开发不同类型的应用。 过去,我们可以使用 jQuery 来开发前端 UI 界面,使用 jQuery Mobile 来开发混合移动应用。后来,当这样的移动应用性能不行时,又出现了 React Native、NativeScript、Flutter 等等。但是不论是使用哪种跨平台技术,它都意味着在这个领域,技术的门槛已经越来越低了——当然了,位于底层的开发人员,仍然有着相当的门槛。对于一般的跨平台移动应用,仍然面临着不少的兼容性、安装量和崩溃问题。 更进一步的,还有最近两年大火的微信小程序——它可以让开发人员,快速的开发**轻量级**的跨平台应用。 后端无服务器 --- 对于中小公司来说,小程序可以说是一种非常 MVP 的方式。 同样的,适用于后端快速开发的 Serverless 技术,也是一种快速的验证方式。而,它与一般的 MVP 不同的是:它可以自动扩容,能快速满足大量用户访问的需求。 Serverless 技术见证的是 DevOps 技术的不断提升,运维的门槛不断的降低。从过去的手动部署,到各种类型的自动部署,再到各式各样的虚拟化技术的使用。直到今天,使用 Serverless 技术,就可以直接将函数部署到服务器上,直接运行。 又诸如适用于小程序的 Wafer2,也是一个符合国情的,其是基于腾讯云强大的 IaaS 能力搭建了一个 PaaS 小程序解决方案,用户只需要开通,即可使用开发者工具上传、部署、调试小程序后端代码,无需了解服务器运维、数据库部署搭建即可使用。 有兴趣的读者可以访问:[https://serverless.ink](https://serverless.ink) 了解更多 Serverless 技术相关的实践。 人工智能 API 化 --- 在上次,我使用 Serverless + 小程序开发 “代码协作” 应用的时候,引入了对图片进行文本识别,以实现代码识别的功能。计算机视觉作为人工智能的一部分,它在使用上与传统 API 并没有太大的区别。并且,在这一领域已经有相当多成熟的开源软件,如 Tensorflow。 而,我在使用 AWS Rekognition 作为图片识别引擎时,我并不需要过多关注底层的细节。而当我在实现一些简单的推荐系统时,我也只需要在现有的算法上做一些微调。而随着 AI 的 API 不断的丰富,也就同上面的服务端与大前端一样,门槛会不断的降低。这时,如果使用自己的服务器和别人的服务没有太大的区别,那么使用别人的服务反而早期成本更低。 值得注意的是,人工智能时代**最值钱的不是算法,而是数据**。 结论 --- 尽管多种领域开发的门槛越来越低,但是在关键时候还是要掌握自己的核心技术。 末了,顺便推荐一下我去年写的《全栈应用开发:精益实践》

最近,项目上出于系统性稳定性、减少测试工作量考虑,打算在 Web 前端引入 BDD。由于上一个项目写了一定的 Cucumber 代码(BDD 测试框架之一),这个框架选型的责任便落到了我的肩膀上了。

常听人说,在我司待上三年,你就该“毕业”了。

Feeds

RSS / Atom

最近文章

存档

2026 (1 月)
2025 (12 个月)
2024 (12 个月)
2023 (12 个月)
2022 (12 个月)
2021 (12 个月)
2020 (12 个月)
2019 (12 个月)
2018 (12 个月)
2017 (12 个月)
2016 (12 个月)
2015 (12 个月)
2014 (12 个月)
2013 (9 个月)
2012 (3 个月)
2011 (1 月)
2010 (1 月)
1991 (1 月)

分类

标签

作者