V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
popoer
V2EX  ›  iDev

公司要研发iPad版OA客户端了,被领导指定为负责人,各种求建议

  •  
  •   popoer · 2011-12-16 21:55:29 +08:00 · 7536 次点击
    这是一个创建于 4707 天前的主题,其中的信息可能已经有所发展或是发生改变。
    嗯,先说下这件事情的背景。

    弊厂是一家传统OA厂商,产品的核心功能主要是基于自定义表单和流程的公文和事务审批,主要客户是政府和国企单位。由于这两年移动客户端的强势登场,客户在移动办公方面的需求越来越强烈,尤其是各种领导,但目前只搞了一个基于浏览器的移动版本忽悠下。

    最近老板终于hold不住了,提出要做真正的移动版本,先搞iPad版。要求是在3个月内发布第一个版本,并且要比市场上竞争对手的产品做得牛X。

    再说下技术情况,厂内技术人员基本上只有J2EE和.net的开发经验,基本上没有移动设备开发经验储备,也基本没有ios的使用经验。

    个人由于互联网中毒较深,自购了厂内唯一的MBP装13,这也是被领导选中来负责这个项目的原因之一。但是主要还是用于从事J2EE方面的开发,对ios没有太多研究,使用android手机,做过一点android开发,对ios只是在别人的设备上玩过,了解些基本操作习惯和流程,说不上深度体验。

    针对这件事情,个人目前简单的想法:
    1.产品的设计原则是做减法,尽可能简化功能和操作的过程。要考虑移动设备的限制,比如文字输入不便、屏幕小等,同时充分利用移动设备的特性,比如多点触摸屏、摄像头、麦克风、GPS、传感仪等,必须要有和web版不一样的用户体验。
    2.由于没有技术储备,基本上需要从头学起,主要通过斯坦福大学的开放课程+apply官方文档进行学习。
    3.购买或外包一些开发难度较大的组件,比如手写签名、文档编辑等,但还不知道是否有相关的渠道可以买到。

    针对我的情况,向V2EX上的各位大神各种求建议,包括但不限于:
    1.学习方式是否可行,是否还有更好的资源推荐?
    2.是否有靠谱的专业ios平台组件市场和渠道?
    3.我应该申请哪些资源?除了apple开发者账号,mac电脑,ipad设备,人,还有吗?
    4.完全通过自学的方式,3个月内推出产品的难度有多大?
    5.还有哪些我没有想到的坑?
    24 条回复    1970-01-01 08:00:00 +08:00
    deepure
        1
    deepure  
       2011-12-16 22:52:01 +08:00
    觉得最大的坑是包括leader及开发对ipad都不是很熟悉。
    开发人员的学习一门新的语言的曲线不太好估计
    如果可以申请到人,最少能申请到交互及开发各一个有经验的人来带领团队
    一群生手可能折腾好久都摸不清方向。
    shao
        2
    shao  
       2011-12-16 23:05:36 +08:00
    何不外包?
    liuers
        3
    liuers  
       2011-12-16 23:07:40 +08:00
    = =
    国内的企业和机关单位现在有这么前卫了?不知道对于他们来说学习成本高不高,反正我觉得这是一个象征意义大于实际用途的事儿.
    SURVIVOR
        4
    SURVIVOR  
       2011-12-17 00:00:15 +08:00
    不熟的情况下开发,一定要特别注重timeline!!
    popoer
        5
    popoer  
    OP
       2011-12-17 00:25:40 +08:00
    @deepure 现在挖ios开发高手貌似很难,特别是时间这么紧的情况,不过还是要应该尝试下,内外兼修吧
    @shao 外包俺就没事干了撒^_^,不过有考虑将部分功能外包的,只是靠谱的外包team也不好找啊
    @liuers 弊厂是私企来的,客户才是国企和机关,领导其实还是很潮的,神马最新设备都给配上,你懂的
    @SURVIVOR 谢谢小幸MM提醒,正在重温rework和getting real

    btw,各位对phonegap这类基于html的app开发框架怎么看,有没有一些著名的APP是基于这个开发出来的
    funcman
        6
    funcman  
       2011-12-17 00:52:43 +08:00
    前端HTML5,后端用原有的。
    这样不管是IPAD还是ANDROID板都能跑。
    OA厂商嘛,完了还可以进一批ANDROID板卖给客户。
    先做出来再说。

    如果做成APP,你得注册企业级开发帐号。
    peterlu
        7
    peterlu  
       2011-12-17 00:54:54 +08:00
    @popoer 建议不要做成基于html的app,还不成熟,很坑爹。
    shao
        8
    shao  
       2011-12-17 00:55:13 +08:00
    @popoer 为什么把自己的思路仅限于coder,你可以做project manager。
    cngump
        9
    cngump  
       2011-12-17 09:34:34 +08:00 via iPhone
    @popoer 先确定方向 native or html5 . html5跨平台,流畅度不佳。 如果长期的项目还是做成native.
    方向确定了就是团队了,反过来也可以参考。然后配个UI。
    这一块市场很大,建议长线发展。如果是native,有技术需要,本人可以免费做个iOS培训。
    GL
    Ryans
        10
    Ryans  
       2011-12-17 09:42:25 +08:00
    @deepure
    "觉得最大的坑是包括leader及开发对ipad都不是很熟悉。 "

    不能同意更多
    cngump
        11
    cngump  
       2011-12-17 09:57:23 +08:00
    晕,刚才大了大半就竟然输入法切换的时候,给冲掉了。Command+Z也没有。
    @popoer 看你们是短期还是长线的产品。 时间的问题可以在商讨,问Boss是3个月出个不好用(没人用)的产品,还是6个月做个质量和功能都很强的产品。
    3个月的时间确实有点紧,如果社内的程序水平还行,花个2W-1
    M培训和学习,然后做个简单的demo练练手,不过要有主要的程序员或者你leader做前期的架构规划,前端和后端的基础代码的实现。然后其他人学习和用起来就容易一些。
    再做些分析吧。 坑确实不小,但是对于你的能力,是可以hold住的。加油吧。
    BB9z
        12
    BB9z  
       2011-12-17 10:04:34 +08:00
    考虑个人想法的1、3条,那么三个月就你一个人的话十有八九出不来。

    学习方案:英文足够好的话 斯坦福公开课+官方文档够用了,差的话可以考虑入本中文参考书。

    即使是外包,需要的投入也很可观的。另外通常说来,iOS目前的外包价格比Android贵不说,产品也更差。
    popoer
        13
    popoer  
    OP
       2011-12-17 15:09:54 +08:00
    @funcman @peterlu @shao @cngump @Ryans @BB9z

    谢谢各位的给力回复,

    真正投入去做的话,应该还是native app效果更好,目前个人还是倾向于做native app,html5应该算投机取巧的做法,具体还是等设备到位,体验评估后再做决策吧。

    不管是html5还是native,我觉得ios开发都是需要学习的,一方面,目前还是先尽量争取到多一些的资源,拉几个厂里比较给力的程序员把团队建立起来,再请@cngump给我们做个培训,尽可能提高内部的水平。另一方面,第一版要尽可能控制压缩需求,3个月说短也不短,争取搞出一个能用的版本。

    完全外包不太现实,但如果能找到靠谱的合作伙伴,外包一部分功能,应该还是不错。

    如果各位有好的资源,请推荐哦~~
    iwege
        14
    iwege  
       2011-12-17 18:09:36 +08:00
    @popoer 你们如果已经有了HTML的客户端,考虑先直接ipad离线,这个比较靠谱,而且也很简单,关键的是资源缓存和逻辑层往JS层面迁移(验证还是在后端做,显示层面和UI交互全铺在前端),多走AJAX。这样在ios层可以减轻一下负担。再通过phonegap包一层切入ios客户端(切入ios这个是我的设想,具体我没实践过,也没具体的看过phonegap的代码)。前端代码可以通过jquery-mobile以及sencha来实现,相对任务时间比较紧而且要快速出原型的话,最好选择sencha。迅速出产品给领导看。

    最后再这些的基础上将这个原型改良一下,改成Native的。


    我觉得这样的思路是可行的,而且相对来说初期处理起来比较快。
    iwege
        15
    iwege  
       2011-12-17 18:15:00 +08:00
    @popoer 另外ipad2已经可以优化到和native一样的程度的 ,之前跑过一个canvas game,就是使用的离线方式去做的。流畅程度和pc的客户端差不多了(塔防游戏)。有做过twitter for ipad 类似的客户端,只要dom不是很多的话,流畅度和native实际上是差不多的。

    如果你不考虑直接一步到位,而是多次迭代开发的话,HTML web->HTML app -> native app应该是适合传统web开发人员的方式。
    cngump
        16
    cngump  
       2011-12-17 19:14:03 +08:00 via iPhone
    @iwege 分析很到位。html5可用性和流畅度都在提高。如果专注的去做iOS,可以减少跨平台的考虑,自定化更强。
    如果路线图是
    HTML web->HTML app -> native app
    为什么不全新直接到native app
    popoer
        17
    popoer  
    OP
       2011-12-17 20:39:40 +08:00 via iPhone
    @cngump 我想@iwege的意思应该是通过html客户端可以起到缓冲的作用,而且在短时间内也更可控。在开发html版的同时可以熟悉ipad的特性,第一版实现功能,等二版关注体验
    iwege
        18
    iwege  
       2011-12-17 21:50:39 +08:00
    @popoer 是的,但是这取决于你能拿到的人是怎么样的。我这种方案适合已经有适合的web版本并且不少的熟练的前端可以做这个事情,而如果你是后端人员多,还是直接上手native app最好,或者将中间层往后挪动一下,将某些js的活改成在后端做,前端调用中间层提供的js接口。

    另外HTML5 app虽然最火的是phonegap, 也有另外一个供你选择 http://www.appcelerator.com/,好像是将html和js转成native code来执行,具体的我不太清楚,没怎么用过。

    当然,文档编辑和手写签名的话...虽然可以做,但是理论上没有native好,如果是第一次迭代必须的就有点小麻烦了...
    rexsheng
        19
    rexsheng  
       2011-12-18 11:54:40 +08:00
    OA的话,phonegap的难度不比学ObjC低。有一定C++/Java/C#基础的话,ObjC一点也不难。看cs193p就够了。最多20天就能学着开始做了。(就一般意义的'高手'而言)
    ydhydh
        20
    ydhydh  
       2011-12-18 16:53:00 +08:00
    推荐两本书把:
    Objective-C Programming- The Big Nerd Ranch Guide
    iOS Programming- The Big Nerd Ranch Guide (2nd Edition)
    vica
        21
    vica  
       2012-01-06 14:20:27 +08:00
    系统框架和内存管理以及编程规范,一定要在项目初期严格把控,否则后面遇到的问题会让你头痛死的,架构设计完善加上编程规范的话,3个月没问题。反之,就是bug越改越多无法收敛,最后变成烂尾工程。
    popoer
        22
    popoer  
    OP
       2012-01-06 18:35:01 +08:00
    @vica
    请问有没有一些可以借鉴的框架和规范推荐?内存管理使用ARC怎么样?
    vica
        23
    vica  
       2012-01-11 00:01:08 +08:00
    @popoer 我也没有收集到太多好的规范,都是参考google那一套和自己项目上总结的。框架设计严格遵守基本的MVC模式,其他设计模式短期内也不好掌握。ARC用的少,网上现在还是不推荐使用的。
    lyxint
        24
    lyxint  
       2012-01-11 01:09:48 +08:00 via Android
    看得我云里雾里啊,好多名词。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3175 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:42 · PVG 20:42 · LAX 04:42 · JFK 07:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.