阅读更多

9顶
2踩

移动开发

转载新闻 从互动广告到 iOS 开发

2012-04-24 16:02 by 正式编辑 nemohq 评论(3) 有4697人浏览
一年以前,我(指本文作者)还在从事各种 Flash 网站的开发,而现在却是拥有一间小工作室的iOS独立开发者。从互动广告行业转型到移动互联网,或许也是正在阅读本文的你心中的一点小念头。即便你仍然打算奋斗在互动广告行业,对移动互联网带来的冲击也不可能置身事外。


移动互联网,正在真真切切的改变我们每一个人的生活。那么,如何顺势而为,让我们能够在新的时代背景下游刃有余呢?

一、掌握移动平台的设计理念

首先,你应当成为移动互联网的应用达人,拥有一款移动设备,并成为重度用户。你要比用户或目标受众更了解这种新的媒介。同时,还需要学会观察和分析这些移动设备产品设计背后的精髓。这些设计内容主要包括以下方面

  • 用户手持设备的使用习惯。
  • 屏幕尺寸限制对设计的影响。
  • 多点触摸的操作方式。
  • 单窗口应用和多任务的设计方法。
  • GPS定位,陀螺仪等特有硬件模块。
然后,你还应当看看苹果公司的人机交互设计指南,了解那些极其详细的设计建议背后的理念。这将会保证你的创意不至于偏差得太过离谱。

此刻你一定已经有了一个不错的想法。好了,现在到了我们尽情发挥创意和设计才华的时刻。 像“下拉刷新”那样流行的操作可不是一开始就写在设计指南里的,而是由像我们一样的创作者想出来的绝妙创意。并且,这绝对是重度用户才能做出来的直觉式设计的最佳范例。还有 Instapaper 客户端的倾仰翻页,以及前段时间非常流行的 Clear 式轻扫和捏合操作,也都代表了交互设计的顶尖水平。

虽然在这个领域不乏一些专业的UI设计公司,还有各种互联网企业的UED正规军。但是在如何更进一步的改善移动应用设计方面,互动设计师也不甘示弱。如果将私密照片分享应用Path 2.0中的折叠菜单和以前的各种动态菜单作比较,我们可以发现其效果并不出众。用户在iOS应用上已经看了好几年标准界面的产物,难免开始产生审美疲劳。现在进入了重视用户体验的时代,互动从业者们在视觉表现和交互效果上的经验积累在此是一大优势。相比其它行业的转型者们,我们更容易创作出令人惊艳的作品。

但是这里也要提醒大家,我们的这种优势有时候也是一种制约。视觉效果是一把双刃剑,我们不能简单把之前为Web做设计的经验生搬硬套到移动平台上。我就曾见过为了展示动画效果,却把用户真正需求的东西放在流程后面的错误做法。移动设备还受到屏幕和电量的限制,在具体设计中我们应当把这些小亮点放在真正需要它们的地方,而把能够提升用户体验的设计放在第一位。

二、技术实现

讲完了设计层面,我再来谈谈技术层面。互动广告行业的前端技术人员大都来自 HTML 或 Flash 领域。当面临移动时代的转型时,一个难以抉择的问题是:要重头开始学习原生开发技术(Objective-C之于iOS,Java之于Android)还是延续现在的知识体系?这个问题没有标准答案,需要结合自己的职业定位来分析。

我们现在面对的是一个碎片化的平台,原先用 Flash 技术覆盖大部分前端需求的好日子已经一去不复返。最有希望的明日之星 HTML5 目前还受限于浏览器普及度和性能制约,尚不足以支撑原先在 Flash 技术上能够达到的高度。而运用原生语言针对不同平台进行定制开发的结果是成本和周期的成倍增长。

这里我分享一下自己的经历。去年我初次开发一款移动应用的时候,首先选择了 JavaScript+PhoneGap 的技术方案。为了模拟原生的UI,在网上搜索对比了不少框架(Zepto.js、JQMobile、Sencha Touch等)。最后选用Sencha Touch,一周之内就做出了应用。但是在开发过程中,我渐渐觉得用 JavaScript 做严谨的面向对象开发比较别扭。我渐渐觉得JavaScript不适合用于做严谨的面向对象开发。不要误会,我就是从学习脚本语言来入门编程的,对这类语言只有好感。我认为只有 jQuery 这种 Write Less, Do More 的思路才能表达出脚本语言灵活轻便的精髓。而先用脚本去做面向对象的开发,再做常规的UI设计会非常麻烦。再加上后来遇到了难以解决的 Mobile Safari 内存限制问题,最终我还是决定转向用 Objective-C 开发。但必须要说的是,掌握一款 JavaScript 移动开发框架也是很有好处的,至少能够很快的验证产品的想法。

我有一位朋友曾用AIR开发了一款收看美剧的应用。他首先尝试用Flex自带的Mobile组件,但视频画面不够流畅。后来转用ActionScript,但由于缺乏基本组件的支持,最终只好采用了基于AsWing的开发方案。

虽然他已经尽量优化性能,但依然无法完全达到原生组件的效率。从这一案例,我们可以看出:虽然语言迁移没有花费多少成本,但是在用AIR技术做移动开发的具体操作上,依然困难重重,更何况需要到真机上做调试。虽然现在已经有基于Starling的UI控件(GPU加速)和更加方便的USB调试,但是我认为Adobe在移动平台上的作为还是过于缓慢。

三、学习iOS原生开发

很多人对此望而生畏。他们都是被 Objective-C 怪异的语法给吓到了。就我个人的经验,消除这种恐惧最直接的办法就是找一段代码到 Xcode 中仔细研究。Xcode的代码辅助功能将会帮助你理解 Objective-C 语句的结构(当你亲眼看到 Xcode 生动的匹配提示时,你就会明白我的意思)。

一旦你熟悉了那些怪异的方括号语法以后,其它问题就可以迎刃而解。Objective-C 2.0以后的版本对属性存取引入了点语法,同时也缩小了与其它语言在书写上的差异性。为此,一些老派的 Objective-C 程序员还曾表示过抗议。实际上,大多数人在学会了 Objective-C 后,都会认同这种语言的优雅设计。

基本语言入门之后,我们就可以尝试在 CocoaTouch 框架上做些小例子。在网上的各种教程中,最受欢迎的是一套斯坦福的iPhone开发公开课教程。目前,最新的课程是对应于 iOS5 的2011版。如果你是刚刚接触iOS开发,建议直接学习 iOS5 以上的版本,新增的一些高级语言特性会让你的开发转型难度更小一些。 同时,不建议再翻看老版本的教程,以免在初始学习阶段给你带来混乱。

虽然进展到下一阶段后,还是免不了要和内存、引用计数机制等相对比较晦涩难懂的知识点打交道,但之前学到的知识,已经能让你写出一款不错的应用了。

入门以后,开发者便可以自主学习。伴随开发生涯最好的资料依然是苹果的官方文档。基本的视图和控制器开发指南,事件处理机制等应该了然于心。如果你比较关注表现层的绘图和动画技术,就应该多看看Quartz 2D和Core Animation指南。对于其它的不同框架,只要知道有何用途即可,具体知识要靠在项目实战中逐步掌握。对游戏比较感兴趣的可以去学习 Cocos2D 框架,据说和Flash类似。

随着技术研究的进一步深入,我们遇到的挑战会更大。选择原生语言开发就意味着选择与众多从传统编程领域转型而来的程序员展开竞争。而且在原生语言开发的过程中,需要接触大量的底层技术。但人生不正是由于充满挑战才变得多姿多彩的吗?

  • 大小: 22.8 KB
来自: DamnDigital
9
2
评论 共 3 条 请登录后发表评论
3 楼 mikixiyou 2012-04-27 15:09
ObjC挺优雅的。学了三个月,信服。
2 楼 ufopw 2012-04-25 09:01
ObjC语法其实挺不错的,主要不习惯的是没有java这么丰富的第三方库。
1 楼 yaotong 2012-04-25 08:36
学C++的时候总觉得她很变态,当你学ObjC的时候你就会感慨C++真好。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 从互动广告到iOS开发

    伴随开发生涯最好的资料还是Apple的官方文档。基本的视图和控制器开发指南,事件处理机制等应该熟读N遍。像我比较关注表现层的绘图和动画技术,就要看Quartz 2D和Core Animation指南。

  • iOS游戏开发:从创意到实现

    《iOS游戏开发:从创意到实现》 基本信息原书名:Tap,Move,Shake: Turning Your Game Ideas into iPhone & iPad Apps作者: (美)Todd Moore[作译者介绍]译者: 杨晓琪丛书名: 图灵程序设计丛书出版社:人民邮电...

  • iOS开发中的神兵利器

    苹果商店免费下载:https://itunes.apple.com/cn/app/id1209739676网易云课程同名视频教程:http://study.163.com/course/courseMain.htm?courseId=1003657013内容提要~ 不看视频不看书,超级好玩的iOS开发实战教程...

  • iOS开发工具,ios开发类库

    ,iosUI组件介绍,iOS开发常用工具整理,ios开发总结 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 ...

  • iOS开发路线简述

    编辑: pockry 分类:iOS开发 来源:coderyi的博客iOS系统以及iPhone的出来都要感谢乔布斯,一个完美主义者,从如此优秀的iOS系统和iPhone就可以看出来。下面就简单介绍一下我iOS开发的感受,也是学习iOS开发的一...

  • 【ios】【swift】IDFA(个性化广告投放标识符)请求实现

    ios swift IDFA(个性化广告投放标识符)请求实现

  • 《iOS开发指南:从零基础到App Store上架(第2版)》

    《iOS开发指南:从零基础到App Store上架(第2版)》 基本信息 作者: 关东升  丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115348029 上架时间:2014-3-5 出版日期:2014 年3月 开本:16开 页码:...

  • 优酷鸿蒙开发实践|多屏互动开发实践

    鸿蒙操作系统的流转特性为多屏互动带来了全新的玩法,本文以优酷播放中心的技术储备为切入点,结合鸿蒙系统的镜像和流转特性,详细介绍了普通流转、自由视角和zoom 等核心能力在鸿蒙上的实践之路。 背景介绍 鸿蒙...

  • iOS开发第三方库汇总

    - 可应用于 iOS 应用中文字输入框自动补全的场景, 兼容到 iOS 8。 Splitflap.swift - 可用于快速给 iOS 应用创建文字翻转的动画效果。 WordPress-Editor-iOS - 一个文本编辑器 简书和新浪博客...

  • iOS开发常用三方库、插件、知名博客

    TimLiu-iOS iOS开发常用三方库、插件、知名博客等等,期待大家和我们一起共同维护,同时也期望大家随时能提出宝贵的意见(直接提交Issues即可)。 持续更新。。。版本:Objective-Cgithub排名 ...

  • ios开发之iOS 11 SDK 的新特性

    开发者所需要知道的 iOS 11 SDK 新特性 年纪大了过了能熬夜看 WWDC 的时代了,但是还是在小小宝的哭闹和妈妈大人换尿布的催促中起了个大早。于是算趁着“热乎”把 WWDC 2017 的 Keynote 看完了。和往年差不多,...

  • 互动是html5广告区别于其他,h5互动开发到底是什么呢?

    H5是指第5代HTML,也指用H5...“超文本”是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。而“标记”指的是这些超文本必须由包含属性的开头与结尾标志来标记。...H5互动开发的最显著的优势在于跨平台性:比...

  • iOS 开发之实现 App 消息推送(最新)

    一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下。(ps:网上看了一下虽然有很多讲述推送的好教程,我也是看着一步步...

  • Flutter firebase_admob(IOS开发版)

    这几个网站非常值得借鉴学习(有些网站...How to show a Firebase AdMob banner ad in Flutter中作者用横幅广告做了一个例子。 Firebase for Flutter中有一些列安装操作的步骤。 Google AdMob官网上提供了入门指南...

  • ios应用中添加广告

    iPhone/iPad的程序,即使是Free的版本,也可以通过广告给我们带来收入。前提是你的程序足够吸引人,有足够的下载量。 这里,我将介绍一下程序中集成广告的方法。主要有两种广告iAd和AdMob。...从iOS 4开始,Ap

  • iOS开发 非常全的三方库、插件、大牛博客等等

    UI下拉刷新EGOTableViewPullRefresh- 最早的下拉刷新控件。SVPullToRefresh- 下拉刷新控件。MJRefresh- 仅需一行代码就可以为UITableView或者... (国人写)iOS学习加群:727474737 一起学习进步XHRefreshCont...

  • ios android app 混编,ios、android移动应用APP原生/混合定制开发

    功能板块 -注册模块、支付模块、工具类、个人中心、互动模块、新闻资讯模块、广告模块、通用模块、招聘模块、发单抢单、地图模块、聊天通讯、活动模块、电商模块、多媒体模块、O2O、订单模块、账号登录、社区模块...

  • 什么是mysql安装配置教程以及学习mysql安装配置教程的意义

    mysql安装配置教程

  • 【光伏预测】基于BP神经网络实现光伏发电功率预测附Matlab代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • onlyoffice搭建及与alist使用的view.html

    onlyoffice搭建及与alist使用的view.html

Global site tag (gtag.js) - Google Analytics