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

简介:

创见干货:

本文作者是一名设计师,对编程一无所知。然而在短短四个月的时间里面,竟然开发出来了一款人气极高的 App。想知道他是怎么做到的吗?他又有哪些切身的体会跟我们分享呢?

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

我是一名设计师,从对编程一无所知,到发布出来一款 App, 只花了 4 个月的时间。

这是一个有关 GAget 的故事,一款在 OS X 环境下的实现 Google 数据分析的小插件。好吧,我先直言不讳的告诉你。这个标题有点儿「标题党」的嫌疑,会让你产生误会。其实,我在 4 个月之前才开始学习 Swift 语言,而在此之前我是多多少少了解一点编程知识的。但是我从来没有在任何的平台上面开发过任何原创的 App。如果你想知道我是怎么做到这一切的,我可以讲讲这其中的原因。

回到过去

我从小就喜欢计算机。当我在 8 岁的时候我爸就给我买了第一台属于自己的电脑,我在看到它的第一眼时就深深的迷住了。当时这台机子还运行的是 DOS 系统,模糊的 CRT 屏幕,尽管质量不怎么样,但是它确实能够执行你想要做的一些任务!这就足以让那时的我为之目眩神迷了!当然,和其他很多孩子一样,我在上面做的最多的事情也就是玩儿游戏,不过也是通过游戏,我逐渐深爱上了整个的计算系统。我当时就开始学习了解台式机电脑是如何工作的,是如何使得一款程序能够运行的,最后身边很多朋友都来向我请教电脑问题。

很快,时间跳到了 1999 年。那时候是 56k 的拨号解调器以及 ADSL 宽带。当互联网逐渐从匈牙利兴起的时候,我仍然非常痴迷于电脑。每天下午的大部分时间,我都待在学校的机房里面浏览当时名叫「Geocities」类型的网站(注:因特网上的大型网站名称,由虚拟城市构成,向用户提供多种服务和咨询,用户可以建立并显示不同题材的网页。)那在当时我的眼中真的是美妙无比的网站,我想要成为打造这种网站的一员。

于是,我开始学习 HTML 语言,开始创建我自己的第一个网站。那时候正值 1999 年,正准备跨越千年,我就将其命名为了 Zolee Site Millenium。它运行在我们学校的服务器上,只有通过 Frankensteinian 的地址才能够浏览,这种地址就类似于www.kkt.piar.school.gov.hu/~hosszu2 这样的地址。尽管有着种种的限制条件,但是我确信我真的已经存在于网络当中,我开始踏入了全新的名叫互联网的世界,并且征服了其中一个小小的角落,那种感觉真的棒极了。

之后的好多年里,我仍然深爱着游戏。我打了很多年的反恐精英,当反恐精英成为了最热门的游戏的时候,我还专门为自己的战队建了一个网站。但是我并没有在网站开发的路上继续精深下去,当时我正在学用户体验和界面设计,于是网站开发的风潮就这样与我擦肩而过了。

缘起

我在匈牙利宜家公司的做人机交互的全职设计师。对目前顶级的框架,比如 Node,Angular 以及 Bootstrap 完全不了解。不过我一直没有放弃 HTML,CSS 以及 Java 相关领域的学习,闲暇之余自己私下里面搞搞个人的一些小项目。

在 2011 年的时候,我的网站大换样,整个设计重新做了一遍,并且在 DeviantArt 网站上得到了推介。之后的每天里,用户不断的到我的网站上浏览,我对此感到兴奋无比,但是我又在另外一方面感到沮丧。不是因为访客的数目,而是因为我根本没有什么途径来追踪查询他们。当时我就面临两个选择:要么我继续使用 Google Analytics,要么我需要一款简单的 App 为我服务。这应该是在 OS X 的操作面板上的插件工具。我当时按照这个思路就开始寻找了。

但是后来我发现当时市面上的这些插件也好,小工具也罢,要么都太丑,要么太不好用,有的甚至是没有办法给我充足的数据。所以作为一个设计师,我的头脑里自然而然的产生了一种想法,是不是我应该去想到一个最好的解决方案,并由此产生了一些设计思路,并将其发布在了 Dribble 上。

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

随之而来的是几十个点赞,这鼓舞了我,让我继续深入探索这个课题。于是我又发现当时现存的那些工具从本质上来说都是 HTML + Java 的 APp,所以我开始非常认真的思考并真的动手开发。因为毕竟这是我曾经非常熟悉的两款语言。十几天后,一个能够运行起来的原型产品问世了!我给它取名是 GAget,(发音与 gadget 很相似),这个名字看上去有点儿傻,但是真的给人们留下了非常深刻的印象。

两个星期后,这款插件发布了出来,具体时间是 2011 年的 8 月份。

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

之后大家所给出来的反馈真的是惊人的。MacStories,SwissMiss 以及好多不怎么知名的博客都推荐了 GAget,一份匈牙利发布的 PC World 杂志上面甚至都出现了我的名字!

接下来该干什么?

如今,这款插件已经得到了 84000 次的下载量,每个星期都被数千人在使用着。我还和我其中的一个朋友开发出来了一款iPhone 版本。但是好景不长,当 Apple 发布了 Yosemite,并且中断了 Dashcode 的开发之后,GAget 的未来就开始显得有点儿暗淡了。

不过,正如那句老话:「上帝给你关上了一扇门,自然会给你打开另外一扇门。」Apple 为程序员开放了通知中心,使得程序员可以将小工具在那里显示!是啊!也许我的这个小插件还能够继续辉煌下去!

我开始阅读 Apple 有关插件的一些文档。不过它们都是原生的 Objective-C 代码!这我可不想做!因为之前从来没有尝试过。所以我下定决心,GAget 需要转变成为一款原生的插件!

目前最大的问题是我不知道从何处着手。

接触 Swift

后来我忽然想起来,Apple 在推出了 Yosemite 的同时,还推出了一款全新的编程语言 Swift。这对于每一个人都是全新的。很多科技界的大佬明星们都在写文章谈论它,讨论它怎么糟糕,又或者是在你碰 Swift 之前应该首先学习一下 Objective-C 语言。这种热闹的景象使得我的目光投向了它的身上,我将其下载下来,开始阅读它的文档。

之后的感受犹如春风拂面!所有的代码都似曾相识,欧一些就像是稍微复杂一点的 Java。我燃起了热情,开始照着教程里面的一些示范照猫画虎的开始了自己的编程之路。

我的主要目标就是在 OS X 环境下开发出来一款插件,但是大部分的教程都是集中在 Swift 语言本身,以及iPhone 的 App 身上,所以我必须继续搜索有用的信息,我当时还有很多没有办法解决,急需获得解释的问题,比如:

一款插件工具和一个内置的 App 是如何进行信息传递的?(核心数据和 App 组)

我是否能够利用悬浮互动?(不行)

当我关掉其他插件的时候,我如何只打开其中的一排插件?(自动布局和一些手动的高度调整)

Apple 有关插件工具的文档让我开始在 GitHub 以及 Stack Overflow上深度学习这些源代码,我花了数不清多少个小时想找出其中的答案。一路上,我把有用的一些链接全部收集起来,联系起来。我一点一滴的学习,最终,功夫不负有心人,这款 App 终于被我开发出来了!

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

四个月前,我完全不知道什么是「MVC」,什么是「多线程进程」,「App 目标」,「视野控制」,「核心数据」。但是多谢网上的各种教程,Stack Overflow这个网站,以及曾经熬过了无数个不眠不休的夜晚的我。在四个月后,我掌握了 Swift 和 OS X 开发的一些基础

除了学了一门新的编程语言之外,我还学到的其他东西

我知道凭借着一己之力去打造一款个人的项目是一件非常酷的事情,你不需要走各种审批手续,不需要看你老板的脸色,按照自己的喜好去增添删减功能,而且还拥有一个自己独立的工作空间。但除了这些之外,我在自己的项目上还收获到了以下这几点道理:

时间底线

我发现, 给自己一个最后的时间底线能够极大的调动起来工作的积极性。每一年的年末最后一天,我和我老婆都会坐在桌子跟前,非常认真的写一个愿望清单,上面写满了我们将在下一年达成的各种愿望。这次我就写下来:直到 1 月底的时候,我要发布 GAget 的新版本,这就是我的时间底线。

即便最终我还是没有真正按照这个时间底线来发布,而是往后拖了整整一个月的时间(这其中因为其他的几个项目以及 Apple 的审核流程),我还是觉得设立了时间底线能够给人以工作的压力和动力。这非常管用!

循环式的学习方式

我同样发现在学习阶段你会历经这么三个阶段:兴奋的心情,辛苦的付出,最终的解决,这三个因素构成了一个环状,相互促进影响。

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

兴奋阶段。你往往都是从兴奋阶段开始的。你有了一个不错的想法,开始学习一些新的东西。你所接触的这一切都是看起来那么美好,那么充满想象力,你迫不及待的想知道下一步该做些什么。你的动力澎湃十足,对于你所知道的东西一直在进行测试。但是,最终你会受限于知识的瓶颈。

煎熬阶段:你开始遇见了你的第一个问题,兴奋和野心随之一落千丈。你根本不知道什么能帮得到你,你也不知道该去搜索什么。绝望是现在最主要的心情。

解决阶段:最终,你找到了那个让你堵塞心情的问题的答案。你比之前更加快速的行动,曾经丢失的兴奋以及野心重新回来了!你重新回到了第一个阶段,然后循环往复。

所以在下次你即将出发的时候,请记得第二阶段往往时间最长,最为辛苦,但是解决方案就在不远的地方等着你,找到它便是整个过程中最有趣的部分。


作者:创见花满楼编译

来源:51CTO

目录
打赏
0
0
0
0
16486
分享
相关文章
【一步步开发AI运动APP】七、自定义姿态动作识别检测——之规则配置检测
本文介绍了如何通过【一步步开发AI运动APP】系列博文,利用自定义姿态识别检测技术开发高性能的AI运动应用。核心内容包括:1) 自定义姿态识别检测,满足人像入镜、动作开始/停止等需求;2) Pose-Calc引擎详解,支持角度匹配、逻辑运算等多种人体分析规则;3) 姿态检测规则编写与执行方法;4) 完整示例展示左右手平举姿态检测。通过这些技术,开发者可轻松实现定制化运动分析功能。
【一步步开发AI运动APP】四、使用相机组件抽帧
本文介绍了如何使用`ai-camera`组件开发AI运动APP,助力开发者深耕AI运动领域。`ai-camera`是专为AI运动场景设计的相机组件,支持多平台,提供更强的抽帧处理能力和API。文章详细讲解了获取相机上下文、执行抽帧操作以及将帧保存到相册的功能实现,并附有代码示例。无论是AI运动APP还是其他场景,该组件都能满足预览、拍照、抽帧等需求。下篇将聚焦人体识别检测,敬请期待!
工会成立100周年纪念,开发职工健身AI运动小程序、APP方案推荐
为庆祝中华全国总工会成立100周年,特推出基于AI技术的智能健身系统,以小程序和APP形式呈现,助力职工健康生活。方案包括:1) 小程序插件,支持多种运动识别,开箱即用;2) APP插件,提供更高精度的运动检测;3) 成熟的「AI乐运动」系统,支持赛事活动管理。这些方案满足不同需求,推动全民健身体验升级,彰显工会对职工健康的关怀。
【一步步开发AI运动APP】六、运动计时计数能调用
本文章介绍了如何通过【一步步开发AI运动APP】系列博文,利用uniAPP插件开发高性能的AI运动应用。文中详细说明了创建运动分析器、进行运动分析、监听计数变化以及停止/重置分析等功能实现步骤。插件内置多种常见运动(如跳绳、俯卧撑等),支持自定义扩展,满足健身、体测等场景需求。示例代码展示了人体检测、运动计时计数及UI更新的完整流程,帮助开发者快速上手并深耕AI运动领域。
鸿蒙NEXT开发App相关工具类(ArkTs)
这段代码展示了一个名为鸿蒙NEXT开发 `AppUtil` 的工具类,主要用于管理鸿蒙应用的上下文、窗口、状态栏、导航栏等配置。它提供了多种功能,例如设置灰阶模式、颜色模式、字体类型、屏幕亮度、窗口属性等,并支持获取应用包信息(如版本号、包名等)。该工具类需在 UIAbility 的 `onWindowStageCreate` 方法中初始化,以便缓存全局变量。代码由鸿蒙布道师编写,适用于鸿蒙系统应用开发,帮助开发者更便捷地管理和配置应用界面及系统属性。
【一步步开发AI运动APP】五、人体检测能力调用
本文介绍如何开发性能更强、体验更优的AI运动APP,涵盖人体检测、实例创建、检测识别、骨骼图绘制及完整代码实现。通过API `createHumanDetector`,可灵活配置高性能、高精度或多人检测模式,省去模型部署麻烦。检测结果可通过`yz-pose-grapher`组件高效渲染骨骼图。最后提醒使用完毕需调用`destroy()`释放资源,下篇将聚焦运动检测分析,敬请期待!
【一步步开发AI运动APP】二、跨平台APP AI运动识别方案介绍
本系列博文旨在帮助开发者从【AI运动小程序】迈向性能更优的【AI运动APP】开发。通过「云智AI运动识别」uni-app版插件,提供本地原生极速识别、精准姿态检测及运动计时计数功能,支持健身系统、线上赛事、学生体测、康复锻炼等多场景应用。插件无需云端依赖,一次付费永久使用,成本低且扩展性强。同时兼容uni-app与uni-app x框架,适合不同技术背景的开发者快速上手,助力抢占AI辅助运动市场。下篇将介绍插件引入,敬请期待!
【一步步开发AI运动APP】一、写在最前
本文介绍新系列【一步步开发AI运动APP】,旨在帮助开发者突破小程序限制,打造性能更强、体验更佳的AI运动APP。相比小程序,APP可充分利用CPU/GPU算力,实现高精度人体检测、多人检测等复杂功能。本系列基于跨平台框架`uni`及扩展插件`uni AI运动识别插件`,适合有小程序开发经验的开发者。内容涵盖抽帧、人体识别、运动分析、姿态交互等,逐步进阶实现完整AI运动APP,并支持多手机平台发布。
【一步步开发AI运动APP】八、自定义姿态动作识别检测——之姿态相似度比较
本文介绍了如何通过姿态相似度比较技术简化AI运动应用开发。相比手动配置规则,插件`pose-calc`提供的姿态相似度比较器可快速评估两组人体关键点的整体与局部相似度,降低开发者工作量。文章还展示了在`uni-app`框架下调用姿态比较器的示例代码,并提供了桌面辅助工具以帮助提取标准动作样本,助力开发者打造性能更优、体验更好的AI运动APP。
拥抱国产化:转转APP的鸿蒙NEXT端开发尝鲜之旅
本文将要分享的是转转APP在开发全新鸿蒙NEXT端所遇到的一些问题,对比了鸿蒙开发和 Android、iOS 的不同,总结了这次开发过程中的一些经验等等。希望能带给你启发。
20 0

热门文章

最新文章

下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等