公司要研发iPad版OA客户端了,被领导指定为负责人,各种求建议 - V2EX
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 8175 次点击
    这是一个创建于 5121 天前的主题,其中的信息可能已经有所发展或是发生改变。
    嗯,先说下这件事情的背景。

    弊厂是一家传统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     Solana     3194 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 10:53 PVG 18:53 LAX 02:53 JFK 05:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86