如何在没有经验的情况下从头开始构建web应用程序

我在大学里上过一门(糟糕的)计算机科学课,但我不是一个网络开发人员。所以在2008年初,当我决定最终要建立一个我幻想了多年的网站时,我从零开始。...

Image for article titled How to Build a Web Application from Scratch with No Experience

我在大学里上过一门(糟糕的)计算机科学课,但我不是一个网络开发人员。所以在2008年初,当我决定最终要建立一个我幻想了多年的网站时,我从零开始。

这是回到LIFHAKER的学校周,虽然我们一直把注意力集中在大学界,但我们认为教育是一项终生的努力。考虑到这一点,下面是我如何在一年内从零到一个功能齐全、半成功的网站的简略介绍。

我一直梦想的网站最终变成了mixstape.me,一个基于网络的音乐播放器,用户可以快速创建播放列表并与朋友分享(见上面的视频)。这篇文章并不是关于mixstape.me有多棒(我喜欢它,但它可能不是下一件大事),也不是一本让你梦想成真的蛇油魔法药丸式指南。它更多的是关于如何在业余时间做你喜欢的事情,即使这意味着你将不得不为之工作。这也是我的经历。您的里程数和首选路径可能会有所不同。我们开始吧。

1.你需要一个目标和一个好主意

Image for article titled How to Build a Web Application from Scratch with No Experience

实际上,你真正需要的不是一个简单的好主意,而是一个你充满**的主意(想必你不会对一个坏主意充满热情。)就我而言,我对任何在线**和共享播放列表的解决方案都不满意,我脑子里有一张我喜欢的图片。我对这个想法非常兴奋,所以在业余时间花时间学习、研究和工作几乎总是很有趣的,即使是当我头撞在墙上试图弄清楚为什么有些东西不起作用的时候。

几年前我就想做混音磁带了,我甚至开始做了几次,但都没有动力了(在全职工作和**项目之间取得平衡并不总是件容易的事,不管你对此有多兴奋。)到2008年1月,开始和完成网站是我今年的首要长期目标。这个月不行。头六个月没有。今年。我知道这需要很多时间,我给了自己足够的时间(提前一年设定一个目标是一件严肃的事情,但如果这是一个你一整年都在努力实现的目标,那么到最后达到这个目标是非常值得的。)

2.留出一些时间

这不是火箭科学;如果你不留出时间来处理你的项目,你将永远无法完成任何事情。与其等待空闲时间出现,不如把时间安排到你知道你可以为你的项目投入一些时间的一周里。如果有更多的空闲时间出现,那就太好了,利用它在那一周取得更多的进步。只要确保你每周为你的项目留出最少的时间。

3.确定工作所需的工具

Image for article titled How to Build a Web Application from Scratch with No Experience

一旦我最终致力于这个目标,我需要为工作选择工具。我不是一个程序员或网络开发人员的贸易,我从来没有建立一个网站之前。然而,在过去的几年里,我读了很多关于一个叫做rubyonrails的web开发框架的文章,读了一些初学者教程,并且认为这是一个很好的起点。

Image for article titled How to Build a Web Application from Scratch with No Experience

我知道这个站点需要大量的JavaScript和AJAX,因此我决定使用Rails默认值,一个名为Prototype的JavaScript库。如果我再次选择,我可能会使用由杰出的JavaScript大师johnresig创建的更积极开发的jQuery,但是原型(加上Script.aculo.us effects库)是一个很好的选择。

点击查看最后一个,我知道流式MP3我需要某种嵌入式Flash播放器见嵌入式播放器以上,例如,自然,选择了这个工作的Adobe工具(特别是Adobe Flex)。

在这样的过程中,你将不可避免地需要挑选更多的工具,但是你不需要完全了解它们。我只知道我需要一个好的web开发框架,一个可靠的JavaScript库,一个可以播放流媒体mp3的Flash播放器,所以这些都是我开始使用的工具。

4.开始犯错

没过多久,我就意识到web开发方面将是这个等式中最重要的部分(毕竟,我正在构建一个web站点),所以我开始阅读一些Rails教程并构建一些示例应用程序。我犯了很多错误,做了很多谷歌搜索,在这个过程中我学到了很多。对我来说,犯错误和挖掘解决方案(通常使用谷歌)是学习过程中的一个重要部分。

5.买些书

Image for article titled How to Build a Web Application from Scratch with No Experience

在我了解了一些基本知识之后,我想是时候买一些合适的书,认真学习了。出于对Rails的启发,我购买了Rails方式,不过现在我可能会推荐使用Rails进行更新的敏捷Web开发(这些书总是会过时的。)然后我读了/浏览了这本书,从头到尾,尽我所能对整个框架有一个更全面的了解。

当我这么做的时候,我密切关注那些对我希望建立的网站特别有意义的东西,并做了一些笔记。不过,不要浪费太多时间仔细研究这些书的每一个细节。光靠读书是学不完的。得到基本的想法,然后尽快开始应用。

注意:第四步和第五步,正如我在这里列出的,根据你的风格是相对可互换的。我开始犯错误,直到我对发生的事情有了一些想法,然后就去看书。

6.站在巨人的肩膀上

Image for article titled How to Build a Web Application from Scratch with No Experience

一旦你完成了粗略的教育,是时候认识和欣赏这里真正发生的事情了:你站在无数优秀的人的肩膀上,他们在你之前走过。在我的例子中,Rails是一个开源的web开发框架,它是由许多专门的开发人员通过汗水构建的。同样,JavaScript框架的原型也是开源的,是由一群好心的人构建的,他们让我这个没有经验的新手充分利用了他们的辛勤工作。简言之,如果不是这些慷慨的人,我不可能在一年的业余时间里完成这个项目。Flash实际上是我工具包中唯一的专有工具,这是不可避免的(尽管HTML5最终可能使Flash播放器变得不必要)。

图片来源:Mykl Roventine。

不过,除了主要参与者之外,您还可以通过社区贡献的插件、教程甚至论坛的形式利用无数其他人的工作。你很快就会发现,当你从头开始做一些事情的时候,谷歌会成为你新的最好的研究伙伴,这不是因为谷歌那么聪明,而是因为在你之前有那么多聪明而宽宏大量的人,他们愿意分享他们的发现,这样你就不会犯同样的错误。

在整个工作生命周期中,您都将继续这样做,无论您是在编写应用程序代码,还是在学习如何从头开始构建和部署服务器(你不一定需要从头开始构建和部署一个服务器,但你是来学习的,对吧?)你会在一个特性上工作,遇到一个问题,并在互联网的帮助下解决这个问题。冲洗,重复。这是一件美丽的事情。

最终,经过几个小时,几个星期,几个星期,你终于有东西要发布了。你可能不需要一年的时间。我可能有点雄心勃勃的一方为一个副业项目,但不管它需要多长时间,如果你预留时间和塞进它有条不紊,最终,你会准备释放一些东西给世界。你自己的小宝贝。要骄傲!

7.利润

Image for article titled How to Build a Web Application from Scratch with No Experience

这就是我想告诉你的地方,你会立刻从你的伟大的想法中获利数百万。当然,我不能,因为那不一定是结果。我的目标从一开始与混音磁带。我是从它赚足够的钱,它将支付自己。

当我发布它时,我没有任何广告,只是在亚马逊上推荐购买MP3的链接,自从我发布该网站以来,这些链接几乎没有什么收益。不过,我最近在这个网站上添加了一些googleadsense广告,从上个月开始,这个网站正式为自己付费,这是我非常自豪的。

但我要说的是。晚安,你从一开始就获利了(我知道,老掉牙,对吧?)在白手起家的过程中,你学到了一大堆新东西,学到了很多新技能,锻炼了你的头脑,与其他志同道合的人建立了联系,希望能拿出一些你可以骄傲的东西。你可以把它展示给全世界,然后说,“嘿,我做了这个。”做东西是件好事。

还有什么?

我仍在努力使混音磁带。我正是从一开始就设想的网站。这是一个漫长的过程,需要做大量的工作,而且我仍然会在业余时间尽可能地做一些事情。像这样的项目永远不会完全完成,每次你有了一个新的想法,你就可以建立、摧毁或改变你以前做过的事情,不断创造新的、令人兴奋的方式来展示你的思想和能力(例如,我渴望**移动应用程序,并且正在考虑使用PhoneGap来实现这一点,但该框架似乎还没有完全准备好用于互联网上的流媒体MP3。但我渴望并希望在完成一个iPhone应用程序后,我不会成为一个坏苹果的受害者。)

我决不认为这整件事让我与众不同,我知道有很多人在这方面比我更有天赋,所以如果你曾经尝试过类似的事业,让我们听听你是如何攻击它的,你是如何学习到一些全新的东西的,以及在评论中它是如何为你而生的。

在Twitter上关注@mixtapeme,尝试一下MixTape.me,让你的音乐聆听和分享快乐。

  • 发表于 2021-07-28 16:40
  • 阅读 ( 72 )
  • 分类:互联网

你可能感兴趣的文章

寻找最好的编程语言?从这里开始!

...期内没有放缓的迹象。人们喜欢自己的**,也需要**上的应用程序。这是一个狭小的竞争空间,但突破应用程序仍然出现在每一天。 ...

  • 发布于 2021-03-12 12:24
  • 阅读 ( 304 )

网络上的python:你可以构建的惊人的东西

...样精益求精和灵活,如果你想建立一个高质量的网站或Web应用程序,你有很多可行的方法可以做到这一点——包括使用Python。 ...

  • 发布于 2021-03-15 03:11
  • 阅读 ( 227 )

学习和制作网络应用的7个最佳免费教程

...加起来共有3个完整的学时。您将了解启动和运行基本React应用程序所需的一切(即React生态系统、NPM、Babel和Webpack)、驱动React应用程序的核心概念和生命周期、如何正确编写组件以及如何传递数据。 ...

  • 发布于 2021-03-15 04:58
  • 阅读 ( 227 )

11 css模板网站:不要从头开始!

...站的免费模板集令人印象深刻,是完美的机构,摄影师,应用程序开发人员和其他创意。使用Javascript和CSS效果和动画,您可以自定义这些站点,尽管它们通常非常好,您可能不想这样做。 ...

  • 发布于 2021-03-15 11:20
  • 阅读 ( 581 )

编程与web开发:有什么区别?

...程序员所做的东西各不相同,但通常是创建全新的计算机应用程序或在现有软件的基础上进行添加。另一方面,Web开发人员专门负责构建和维护网站。 ...

  • 发布于 2021-03-15 15:29
  • 阅读 ( 407 )

学习建立这些一步一步的视频指南酷技术小工具

... 关键课程:如何在Raspberry Pi上开发web应用程序。 ...

  • 发布于 2021-03-25 07:03
  • 阅读 ( 204 )

通过本课程掌握excel电子表格函数、公式和数据分析

...些岗位上得到聘用,需要一套不同的技能。虽然许多其他应用程序都有相同的用途,但Excel对数据分析的需求是巨大的;Excel和数据分析方面的在线培训可以帮助你实现职业生涯中想要的目标。 ...

  • 发布于 2021-03-28 03:39
  • 阅读 ( 297 )

通过这个完整的堆栈开发课程,在家学习编码

... 通过构建应用程序来学习C:学习如何编写C程序,并从头开始开发简单的计算器、网络刮板或数独游戏。 全栈Javascript课程:通过使用ReactJS、NodeJS、LoopbackJS等web应用...

  • 发布于 2021-03-29 09:01
  • 阅读 ( 236 )

6个值得学习的javascript框架

...可扩展和可定制的组件和模块,以适合您想要构建的任何应用程序。 ...

  • 发布于 2021-03-29 13:57
  • 阅读 ( 241 )

通过参加这个python训练营课程获得更好的工作机会

...这个Python bootcamp包为您提供了一个完整的Python基础和科学应用程序包。 ...

  • 发布于 2021-03-30 06:16
  • 阅读 ( 313 )
De6312105
De6312105

0 篇文章

相关推荐