ios纯代码实现scrollview(ios scrollview嵌套tableview)
近年来,编程也好计算机语言也好,已经从一种专业人士掌控或使用的技术,变成了大家只要想学习就能找到方式方法的工具。
编程的门槛低了,艺术走了进来,结果就是不论在实际工作还是国内外院校的要求和教学中,代码和艺术设计的结合都变得越来越密切。之前也跟大家讲过不少操作步骤和作品集案例分析了,但到了实际教学中,还是会有同学问起: 我一定要学代码吗?这算是转行“码农”了吗?我该如何入门呢?
所以今天,我们不教具体的应用教程,而是来聊聊代码和艺术设计的联系,讲讲同学们该如何在创作中活用代码、如何选择编程语言。
|本期分享导师|
Darren
汉艺国际北京校区 工业交互学部 基础软件讲师
悉尼科技大学 计算机科学与技术 BA
La Strada 网站运营和设计师
#1
码农和艺术家有那么不同吗?
近十年左右,给从事程序开发、程序维护的人的外号似乎变得稍微好听了那么一点,从一开始的 “ 修电脑的” 、 “ IT民工” 变成了 “ 程序猿” 、 “ 码农” 。
可能也是因为从事这一行业的人越来越多、编程变得越来越普遍了吧。
北京市新生代农民工集中行业之一——“ 互联网”
不过现在提到“码农”,掉头发是散热快、格子衫是工作服的刻板印象还是根深蒂固,跟“艺术家”的形象实在太过不同。 可是码农和艺术家设计师,两者的工作就这么不一样吗?
展开全文
有这么一段话大家可以先看一下:
“码农的草帽底下,是一颗充满创造力的自由不羁的头脑。他们遵从最佳实践而痛恨陈规教条,他们欣赏天才而不迷信权威,他们喜欢思考而不轻易苟同。他们是技术人,却追求人文理想;他们敢于呐喊,说出自己的观点和主张,也更善于脚踏实地,用自己的点滴工作去改变现状。”——图灵中文社区电子杂志《码农》第一期《所谓码农》,作者武卫东
所以“码农”,说的也不过是工作方式而已,敲代码也不影响码农有一颗追求理想、美感、创意的心;同样 一位艺术家、设计师若是需要靠编程来完成创作或工作,戏称自己是“码农”又有何不可呢?
艺术家 Michael Hansmeyer通过计算机生成为歌剧《莫扎特》制作的布景 图源:AIArtists.org
再放大一点说,敲代码、做设计,和种地,除了方式、工具不同,逻辑其实也是一样的。
种地为了什么?为了来年收成好吃饭不愁还能有一笔不错的收入,那就得选对种什么、怎么种、用什么工具,那放到编程和设计创作上, 也是首先要找准定位、明确需求,然后找准入手点、选好工具。
设计思维,图源:interaction-design.org
这个思维流程其实是放之四海而皆准的, 无论是作品集创作还是实际工作,都要先找到大方向、再根据需求选工具。
而无论工具是代码还是画笔,都不会成为我们角色的定义。
#2
代码对艺术创作的重要性
聊到这里有的同学可能会问了: 哎老师,所以做艺术设计到底是不是一定要会编程啊?
这个的确是具体情况具体分析,但以交互设计来说,大家都知道现在的交互设计并不只是调研、设计流程、界面,还要涉及代码、编程、交互逻辑和体验感受等,甚至设计过程中90%的技术都要基于硬件基础上的软件开发和使用。
所以交互设计虽然是艺术设计类专业,但牵扯到IT相关的内容非常多,以致很多学校,例如UTS就将交互设计划归到IT的门类下。
图源:UTS官网
其实我在上高中时就已经接触到了代码,那时候使用的语言是JAVA,开发编辑器是Eclipse IDE ,一开始上课也是听天书,老师讲到哪里睡到哪里,直到学习了交互设计,掌握了Processing、ios环境开发等等,才发现代码其实离我们并不远。
我们的数据分析相关课程
也不仅是交互设计专业如此, 在各类艺术设计专业课程中加入编程内容已经成为国内外院校的大趋势。
如Processing的诞生地麻省理工学院,在媒体艺术与科学的本科和研究生的教学中就开设了许多编程、算法、硬件软件相关课程。
2021年秋季Media Arts and Sciences研究生课程(部分)
罗德岛、皇艺与帝国理工合办的GID/IDE专业、伦艺CCI,国内的清华、同济、湖南大学等等名校也都如此。
同济大学艺术与传媒学院开设processing课程
说实话, 不论是国内还是国外,现在的院校申请和求职就业越来越“ 卷”了, 大家看到的“熟练使用XXX软件工具、掌握XXX语言的优先”这句话,翻译一下意思不就是“必须掌握XXX技能”、“会XXX的人才能来”吗?
爱丁堡大学数字设计与制造专业要求学生需具备编程、制造技术能力 图源:爱丁堡大学官网
所以既然编程在艺术设计领域逐渐成为“ 大势所趋”,建议同学们还是不要对代码还抱有戒心了, 如果有需要还是尽快学起来,让代码变成大家在做项目时趁手的好工具。
#3
编程语言 如何选择应用 ?
现在编程语言种类变得越来越多,可能很多同学在初次接触时会觉得无从下手。
我们可以先看一看目前使用较多的一些编程语言:
IEEE Spectrum 2021年度编程语言排行榜
像是排名第一的Python, 如果大家掌握基本知识且了解了Python库的使用,在一些大型嵌入型项目和AI系统的使用中就能很快上手,学起来也没有想象的那么难。 (戳这看往期Python教程→ 作品集中有手就行的Python技巧 )
JAVA的话, 安卓手机APP的语言基础一般都是使用JAVA进行编写的。
而我们介绍最多的Processing入门更加简单,已经在 交互和平面等多领域内得到了广泛的应用,甚至被纳入国内外名校的课 程内容中。(戳这看往期Processing教程→ 如何使用Processing进行VR体验 )
而且Processing还可以与 Arduino“联动”,例如汉艺学员Q同学就在项目中采用了Arduino和Processing通信的方式,拿到了金匠的offer。
汉艺学员Q同学 获 金史密斯大学 Computational Art offer
这些编程语言的难度和实际应用场景会有一定的不同,同学们需要在对这些语言的差异有一定了解后,根据需求进行选择。
而有了一定基础后,我们还可以进行更多的尝试,例如用纯硬件,像是汉艺L同学改良滑板鞋的项目,就属于纯硬件类呈现:
汉艺学员L同学 成功申请皇艺x帝国理工 IDE
而H同学设计的椅子项目 则属于硬件与软件的结合:
汉艺学员H同学 在椅子上安装心率感应器Heartrate seneror并将LDE灯连接Arduino,获伦艺、爱丁堡 MA offer
不知道看到这里,会不会有同学直接拿出项目各种编程技法大加特加,那这就偏离今天分享的初衷了。
老师想说的其实是:代码是个好工具,但想法和设计需求定位更重要。
不论是编程还是做设计、做作品集,我们的首要任务都是了解自身的需求,然后根据自己的判断再去进行学习和应用。不然闷头学编程,作品集效果倒是很酷炫,结果主题太普通、方向没新意,那能不能给申请带来更多竞争力呢,也只能说:鼻孔喝水-够呛。
还觉得编程难?那就直接问问老师吧
▼