我无法创造的东西,我无法理解
-理查德·费曼(Richard Feynman)
学习编程或学习编写应用程序没有捷径可走。 您可以阅读所有书籍,在线资源,并阅读各种视频教程,但它们只能带您深入。 您仍然没有自己弄清楚事情。 我会争辩说,即使您按照教程进行操作,并逐个字符地输入它显示的所有代码,最后得到一个正在运行的应用程序,您仍然不知道如何构建应用程序。 您只是拥有构建应用程序的先兆,就生活中的一切而言,它似乎太好了,难以置信。
这是因为您只是遵循与某人完全相同的路径。 书作者和教程作者为您扫清了道路。 他们砍掉了灌木丛。 可能迷失在迷宫中,然后找到了出路; 陷入陷阱,然后振作起来,并一路填补了漏洞,因此您不必再次经历。 实际上,正是这些人通过开发教材学到了东西。
要真正学习构建应用程序,您必须自己构建应用程序。 提出一个简单应用程序的要求和设计。 这里的关键是“简单”,不要太雄心勃勃。 它可能像待办事项列表或Hacker News客户端一样简单。 确定核心功能和要尝试的UI / UX,然后提出支持这些功能的后端数据结构/架构。 现在是时候动手做代码了。
在此过程中,您仍将引用其他人的代码,以及他们如何实现此目的。 但是您很快就会发现您无法直接复制,因为它不适合您的情况。 您必须在这里和那里进行一些调整。 通过调整,您遇到了一些无法预料的错误,然后查找这些错误的含义以及如何解决这些错误。 您将踩到一些讨厌的错误。 您会因为缺乏进步而感到沮丧。 您问自己:“完成一件看起来如此简单的事情需要这么长时间吗?” 您必须仔细阅读各种文档以查找详细信息,然后意识到您可以传递一个附加参数来更改适合您情况的库函数的行为。
日复一日重复上述练习两个星期,您最终将在屏幕上看到一些明显的结果。 你笑了。 是的,这似乎对其他人来说微不足道,甚至在尝试向妈妈解释您一周内的工作时,您甚至可能会感到尴尬。 但是,回想一下,您知道自己已经经历了前端和后端的障碍,遇到了一些错误,查阅了文档,最后自己弄清楚了。 现在,此功能有效,您可以从待建功能列表中删除一项,但仍然不能处理极端情况和错误输入。 这是您的下一个任务。