当前位置: 首页 > 科技观察

零编程基础的设计师如何在4个月内开发出一款App?_0

时间:2023-03-21 23:48:45 科技观察

超越干货:本文作者是一位对编程一窍不通的设计师。然而,仅仅四个月的时间,一款非常受欢迎的应用就开发出来了。你想知道他是怎么做到的吗?他与我们分享了哪些个人经历???我是一名设计师,从对编程一窍不通到发布一个APP,只用了4个月的时间。这是一个关于GAget的故事,GAget是一个在OSX环境下用于谷歌数据分析的小插件。好吧,让我先直截了当地告诉你。这个标题有点“标题党”的嫌疑,容易引起大家的误解。其实我4个月前才开始学习Swift语言,在此之前我或多或少对编程有所了解。但是我从来没有在任何平台上开发过任何原创的App。如果你想知道我是怎么做到这一切的,我可以解释原因。回到我从小就喜欢电脑的那一天。在我8岁的时候,我父亲给我买了第一台电脑,我第一次看到它时就被迷住了。那时候机器还在运行DOS,有一个模糊的CRT屏幕,虽然质量不是很好,但它确实执行了一些你想让它完成的任务!这足以让我震惊!当然,和其他很多孩子一样,我在上面做的最多的就是玩游戏,但也是通过游戏,我逐渐爱上了整个计算系统。我开始学习台式电脑的工作原理以及如何让程序运行。***身边有很多朋友来找我咨询电脑问题。很快,时间跳到了1999年,那时候还是56k拨号调制解调器和ADSL宽带。当互联网开始从匈牙利出现时,我仍然非常着迷于计算机。每天下午的大部分时间,我都待在学校的机房里,浏览当时名为“Geocities”的网站(注:互联网上的一个大型网站名称,由虚拟城市组成,为用户提供各种服务和咨询,用户可以创建和显示不同主题的网页。)那在当时的我眼中真的是一个很棒的网站,我想成为创建这种网站的一部分。所以,我开始学习HTML语言并开始创建我的第一个网站。当时是1999年,马上就要跨千年了,所以我给它取名为ZoleeSiteMillenium。它在我们学校的服务器上运行,只能通过科学怪人地址访问,例如www.kkt.piar.school.gov.hu/~hosszu2。尽管有种种限制,但我确信我确实存在于互联网上。我开始踏入这个叫做互联网的新世界,并征服了它的一个小角落。感觉真的很好。.多年后,我仍然喜欢游戏。我玩了很多年反恐精英,当反恐精英成为最受欢迎的游戏时,我什至专门为我的团队建立了一个网站。但是我并没有在网站开发的道路上继续发展下去。那时我正在学习用户体验和界面设计,所以网站开发的趋势与我擦肩而过。#p#源于我在匈牙利宜家担任人机交互全职设计师的经历。完全不了解当前最先进的框架,例如Node、Angular和Bootstrap。但是,我一直没有放弃学习HTML、CSS、Java相关的领域。在业余时间,我会私下做一些小的个人项目。2011年,我的网站进行了一次大修,整个设计重新设计,我被DeviantArt网站推荐了。之后的每一天,用户不断访问我的网站,对此我感到非常兴奋,但另一方面我也很沮丧。不是因为访客的数量,而是因为我无法追踪他们。我面临两个选择:要么我继续使用GoogleAnalytics,要么我需要一个简单的应用程序来为我做这件事。这应该是OSX操作面板中的插件工具。我就这样开始寻找。但是后来发现当时市面上的插件和小工具要么太丑,要么太难用,有的甚至不能给我足够的数据。所以作为一个设计师,我脑子里自然而然地有了一个想法,是不是应该想一个完美的解决方案,一些设计思路由此产生,发表在了Dribble上。随后获得了数十个赞,鼓励我继续深入探索这个主题。于是我发现当时现有的工具本质上都是HTML+JavaApps,于是我开始非常认真地思考并真正开始开发它们。因为毕竟这是我以前非常熟悉的两种语言。十天后,一个工作原型产品问世了!我给它取名为GAget,(发音很像gadget),这个名字看似有点傻,但确实给人留下了非常深刻的印象。该插件在两周后于2011年8月发布。此后每个人的反馈都非常棒。MacStories、SwissMiss和许多鲜为人知的博主都推荐了GAget,匈牙利版的PCWorld杂志甚至刊登了我的名字!下一步是什么?如今,该插件的下载量已达84,000次,每周有数千人使用。我还和我的一个朋友一起开发了一个iPhone版本。但好景不长。当苹果发布Yosemite并中断Dashcode的开发时,GAget的前途开始显得有些黯淡。然而,俗话说:“当上帝为你关上一扇门时,大自然会为你打开另一扇门。”苹果为程序员开放了通知中心,让程序员可以在那里展示小工具!耶!说不定我的小外挂还能继续精彩呢!我开始阅读一些Apple关于插件的文档。但它都是原生的Objective-C代码!我不想那样做!以前从未尝试过。所以我下定决心要把GAget变成一个原生插件!现在最大的问题是不知道从何下手。#p#接触Swift后来突然想起苹果在推出Yosemite的同时,也推出了全新的编程语言Swift。这对每个人来说都是新的。许多科技界的知名人士都在写它,它有多糟糕,或者在接触Swift之前应该如何先学习Objective-C。这热闹的一幕让我的目光投向了它,我下载了它,开始阅读它的文档。之后的感觉,如沐春风!所有的代码都很熟悉,有些代码就像稍微复杂一点的Java。我点燃了自己的热情,跟着教程中的一些演示开始了自己的编程之路。我的主要目标是为OSX开发一个插件,但大部分教程都集中在Swift语言本身和iPhone应用程序上,所以我不得不继续搜索有用的信息。解决方案,急需说明的问题,如:插件工具与内置App如何进行信息通信?(核心数据和应用组)我可以使用悬停交互吗?(否)当我关闭其他插件时如何在使用时只打开一行插件?(自动布局和一些手动高度调整)Apple关于插件工具的文档让我开始深入挖掘GitHub和StackOverflow上的源代码,我为此花费了无数小时。多少小时试图找出答案。一路上,我收集了所有有用的链接并将它们连接起来。一点一滴的学习,终于,功夫不负有心人,这个App终于被我开发出来了!四个月前,我根本不知道什么是“MVC”,什么是“多线程进程”、“AppTarget”、“ViewControl”、“CoreData”。但是感谢网上各种教程,网站StackOverflow,还有熬过无数个不眠之夜的我。经过四个月的时间,我已经掌握了一些Swift和OSX开发的基础知识。除了学习一门新的编程语言,我还学到了其他东西。我知道我可以自己构建一个个人项目。这是一件很酷的事情,不需要经过各种审批程序,不需要看老板的脸色,可以根据自己的喜好添加或删除功能,还有自己独立的工作空间.但除了这些,我在自己的项目中也收获了以下原则:时间限制我发现给自己一个完美的时间限制可以极大地调动工作的积极性。每年年底的第一天,我和老婆都会坐在桌前,非常认真地写下愿望清单,上面写满了我们明年要实现的各种愿望。这次我会记下来:到一月底,我会发布一个新版本的GAget,这是我的期限。即使最后我并没有真正按照这个时限发布,而是推迟了整整一个月(因为其他几个项目和苹果的审核过程),我仍然认为设置时限可以让人拿工作的压力和动力。这非常有用!#p#循环学习法我还发现你在学习阶段会经历三个阶段:兴奋、努力、最终解决。这三个因素形成一个循环,相互促进影响。激动阶段。你往往从兴奋阶段开始。你有一个好主意并开始学习新东西。你触摸到的一切看起来都那么美好,如此富有想象力,你迫不及待地想看看接下来要做什么。你的动力在激增,你在不断地测试你所知道的。但是,最终你会被知识的瓶颈所限制。痛苦阶段:你开始遇到你的第一个问题,兴奋和野心直线下降。您不知道什么可以帮助您,也不知道要搜索什么。绝望是现在的主要情绪。解决阶段:最后,你找到了阻碍你思考的问题的答案。你比以前移动得更快,失去的兴奋和野心又回来了!你回到第一阶段,然后循环重复。所以下次您要出发时,请记住第2阶段通常是最长和最困难的,但解决方案就在眼前,找到它是该过程中最有趣的部分。