🏕 2022 独立开发者训练营(全栈)开营啦 ~~,查看介绍 / 立即报名(早鸟优惠) →

博客

解构应用开发: 如何选择应用框架

我们要根据需要开发的应用的类型,选择合适的技术。比如 Python, Java,Go 或者 Node.js 都可以开发服务端应用,我们需要根据项目需求或者个人喜好做出选择。确定了技术也就确定了开发应用的时候要使用的程序语言,比如要基于 Node.js 开发服务端应用,需要用的是 JavaScript 或者 TypeScript 语言。

确定了技术以后,下一步要做的应该就是选择一款合适的应用框架,虽说可以直接使用选择的技术与程序语言做出需求的应用,不过一般情况下,我们都会选择一款成熟的应用框架,然后基于这个框架提供的工具与方法来开发特定类型的应用。使用框架的好处是可以节省时间,能够帮我们做出更稳定的应用,也更适合团队协作。

宁皓老友记:“老板经常跟我说,做项目要假装有两亿现金揣在口袋里”

我与大冯 2017 年成为微信好友,此后没有过多联系,直到 2019 年,大冯在课程方向上给我提供了一些的建议。最近大冯在微信上问了一个技术问题,由这个技术问题引起了一段对话,我在其中得到了很多启发,故作此文以记之,也希望能对他人有所帮助。

问题很简单,只是由于误操作引起的,所以发现问题以后很快就解决掉了。大冯说为了解决这个问题已经花了两天时间了,我说以后再遇到奇怪的问题应该随时扔给我一份,能节省很多时间。大冯生活在上海,最近被封控在家,无法出小区,所以就想着把之前落下的课程学一下。

大冯:“看的时候都懂,自己照着做的时候,发现一堆问题,才体会到你做这些视频的时候耗费的精力。基本上半个小时的视频,我实际照着做,差不多要花费一天的时间”,看到这段话我就来兴趣了,遇到知已了,我说:“对,差不多就是这个比例”。1:16 是中位数的比例,按这个比例计算,16 小时的视频内容总共需要 256 个小时完成。

解构应用开发:如何学习程序语言

作为开发者,我们可以使用开发语言或者叫程序语言向机器或者某个系统表达自己的想法,编写应用程序,让机器或者系统完成我们设定好的事情。现在有很多可以使用的程序语言,不同的程序语言可以编写不同类型的应用,比如客户端应用,服务端应用,游戏,智能合约等等。

程序语言看起来其实一般就是一些简单的英文单词,外加一些标点符号,它们都会定义一套规矩,我们开发者需要遵守这套规矩去编写应用,这套规矩就是程序语言的语法,也就是一些写法。有些程序语言编写的应用需要编译以后才能运行,有些不需要编译,可以直接交给支持这种语言的环境上去运行。

独立开发者训练营:技术栈

“我们的技术栈在网飞剧里出现过,ClickUp 用类似的技术栈做出了估值200亿的产品,最受专业开发者喜欢的排名前十的技术中,我们将学会其中五项。”

解构应用开发:开发者的必备工具(命令行、Git 与代码编辑器)

命令行,代码编辑器还有源代码管理是开发工作日常必备的工具,无论我们开发什么类型的应用,都会用到这几样工具。

做开发的时候需要用到大量的工具,有些带图形界面,有些不带图形界面。这些不带图形界面的工具,需要通过命令行界面执行文字命令来使用这些工具,命令行界面就是 command line interface,简称为 cli,要在命令行界面下输入的命令通常就是要运行的这个命令行工具的名字。创建应用、安装项目依赖,启动应用的开发服务,做源代码管理,远程连接管理服务器等等,这些任务一般都需要在命令行界面下完成。

“给我时间,我能学会所有我想学的东西”

我经常因技不如人而感到自卑,现在我认为这只是需求不同而已,如果需要,我也可以如何如何。实现想法的最大障碍应该是时间,不应该是技术,只要有需求,我们能学会任何需要的技术,能解决任何需要解决的问题。

学习绝对不是一件容易做的事情,理解需要时间。我现在认为非常简单的东西,当初在学它的时候也从未感到轻松,要有脑子裂开的感觉,这才是真的在学习。但这也正是乐趣所在,有难度才有意思,承受痛苦才能得到奖励,当一切变得轻松自如之时,事情就开始变得无聊了,所以“感到无聊”应该是衡量是否学会的标准之一。

学习是一种瘾,不断学习能带来快乐,我们也必须要当心这个“学习陷阱”,陷入其中将无法自拔,忘记当初要做的是什么了。不断地被各种声音干扰,不停地追逐新鲜的东西,无限循环地一直在学习,自我感觉良好。如果把学习当作一种业余乐趣,这样还好。如果我们的目的是为了创造应用,提供服务,解决问题,就需要做到学以致用,年纪越大,就越觉得时间最贵。

还有一件事要想明白,是要成为一名优秀的软件工程师,还是要成为一名成功的生意人。不断地学习技术能让我们成为越来越优秀的工程师,但如果想借技术做生意,还得想点别的,要勾画愿景,设定目标,不断地给自己洗脑,给别人洗脑,实现产品,做市场。

独立开发者:王皓与他漫长的独立开发者探索之路

年少时我们可以贪婪地学习,越多越好,那时候我们觉得自己还年青,时间可以任意挥霍。青年往后就应该有选择、有系统、有目标地学习了,一切的技术学习行为都应该服务于当初设定的目标。人到中年以后,时间开始变得宝贵了,你会希望时间能变得慢一些,任何决定都会格外小心。

在一次朋友聚会中一位朋友问道:“如果你有能力回到过去,你要回去吗,如果要回去,会做些什么?”,听到这个问题我的脑子里先是闪现出很多快速致富的路径,但又想了想说:“我不想回去,我觉得我即使回到过去,做的决定最终也会把我引入到当下的状态。”,稍后我又补充到:“如果真能回到过去,我希望自己能好好学习。”

解构应用开发:从实际需求理解客户端与服务端

我们可以通过一个实际的需求,再深入了解一下应用的客户端与服务端的具体的职责,以及它们是怎么通过应用接口交换数据完成要做的事情的。

比如应用需要支持用户的注册与登录,要满足这个需求需要在应用里实现一些对应的业务,这里说的“业务”指的就是我们的应用需要处理的各种事务。这些业务都有各自的流程与逻辑,我们暂时先不考虑具体的实现,只需要先把这个业务的流程与逻辑描述清楚就行了,就是确定一下实现这个业务都需要执行哪些可能的动作,流程是什么,执行了动作以后又会发生什么。如果我们能用人类的语言把一个业务的流程与逻辑描述清楚,就一定能够使用机器语言把它设计并且实现出来。

Web 3.0 应用开发相关技术与框架(Truffle、Hardhat、OpenZeppeline)

最近想整理出一条 Web3.0 应用开发的学习路线,目前还没有清晰的思路,我想遇到谁就先花点时间了解一下它,看看它能帮我做些什么,在 Web3.0 中扮演的角色是什么,了解一项技术或框架可以从它的技术文档开始。

Truffle

网址:https://trufflesuite.com/
仓库:https://github.com/trufflesuite/truffle

Truffle 是一套开发环境,测试框架,也是 Ethereum 的资源管道(asset pipeline)。主要是给 Ethereum 开发者提供了一套统一的开发环境,它提供的工具可用于开发调试智能合约,独立的包管理,可以让开发者的工作变得更轻松一些。

Truffle 框架是一个 Ethereum 的开发框架,主要是用 JavaScript 编写而成,支持使用任何框架(React,Vue 或 Angular)开发测试 DApps。

解构应用开发:理解如何部署应用

服务端应用需要部署到服务器上运行,部署,就是把我们在本地电脑上开发的应用,搬到服务器上去运行。这个服务器跟我们平常用的电脑没有太大区别,可以把它想成是一台能通过固定地址在网络访问到的电脑,服务器提供了计算能力,存储空间还有带宽。

大部分云服务商都提供这种可以部署服务端应用的服务器,像阿里、腾讯、华为、亚马逊它们都提供云服务,我们可以从这些云服务端那里按需求购买相应配置的服务器,其实我们买的并不是一台真实存在的设备,买的只是计算与存储的能力,还有网络带宽。至于服务商如何提供这些能力并不是我们要操心的事情。



微信好友

用微信扫描二维码,
加我好友。



微信公众号

用微信扫描二维码,
订阅宁皓网公众号。



240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

13799
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点