Soft_Job 板


LINE

难得看到讨论Xamarin的文章 身为使用Xamarin一年左右的菜比八来分享一下个人看法 并试着用工程师角度和公司角度提供一些想法 前情提要: 在学校只写过C、Python和极少的C++ 进到公司後开始学习C# 目前语言熟练度 C# > Java = Swift = Obj-C 因为公司是抓原本的工程师们来摸索APP开发 所以造就了现行产品们有原生、有Xamarin、也有Xamarin.Form 又因并不是所有专案都会同时开发及维护 分到哪个专案就要写哪种语言 所以目前是 Xamarin.双平台(C#) Xamarin.Form(C#) Android(Java) iOS(Swift&Obj-C) 都能写的状况 首先先来简单说一下Xamarin Xamarin其实分成两种 一种是Xamarin双平台 也就是照着平常写Android和iOS的方式来撰写APP 只是语言改成使用C# 但整个Life Cycle、Activity/ViewController等等的观念都跟原生一样 也同样使用AXML和StoryBoard或Xib拉画面 不过无关乎Android及iOS层的资料和资料逻辑层可以共用 也就是这部份只需要一份程式码就可以了 而另一种是Xamarin.Form 是属於Xamarin自己的框架 里面没有什麽Activity、Fragment、ViewController之类的东西 而是有属於自己的LifeCycle和Page 画面使用自己的XAML格式 从画面到资料都只需要写一份Code就可以了 真的需要双平台各自处理的部分 再写各自的渲染即可 渲染的部分一样使用C# 使用Xamarin 基本上在手机上的效能表现而言其实并不会比原生差 因为它并不是先把C#转回原生再使用 而是自己比照原生语言制作了跟底层的沟通 细节有兴趣的人可以去查看相关文件及统计资料 工程师角度: 开发的语言与框架能具备 - 好写 越多语言及框架帮你处理好的东西越好 - 快速 需要写的东西越少越好,并尽可能的共用 - 稳定 不会莫名其妙坏掉,一更新好了这个坏了那个 对於原本就熟练C#与.NET的人来说 Java、Obj-C和Swift缺少很多惯用的类别及方法可以使用 (个人觉得Java很罗唆,Obj-C有点过时) 双平台可以共用资料逻辑层很省事 而UI可以只写一份的话更好 但稳定度确实差原生一截 公司角度: 产品的开发具备 - 快速 工程师需要的开发时间越短越好,不论是开新产品或增加需求 - 稳定 产品越少Bug越好 - 省成本 每次开发需要的工程师数量越少越好 这时候就要看产品特性了 有些产品注重资料的呈现 有些产品则是对画面及操作的细节讲究 对於注重资料呈现但对於画面及操作细节没那麽要求的产品 Xamarin(特别是Xamarin.Form)可以做到快速与省成本 而稳定度的欠缺会因对画面及细节的不要求而影响程度不高 其实是个不错的选择 但对於画面及细节要求的产品 由於Xamarin依旧需要处理大量的渲染 又比较常发生特定版本的某些功能会坏掉的状况 Xamarin的缺点比优点来得多 使用原生甚至搭配C++开发会是更好的选择 最後就我而言 其实Xamarin并没有前几篇文章下面推嘘文讲得那麽差 它有优势但也有缺点 确实业界内使用Xamarin开发的公司不多 但也不是没有 依需求和团队状况考量 不同的公司应该会有不同的选择 写到现在一年多 觉得不论是它本身或是VS for Mac都有越来越稳定 个人认为它的未来是可以期待的 (至於一些信仰问题,在这边不列入讨论, 每个人对个语言、框架和公司等等的信仰都不一样, 虽然这篇文章多少也有一些我的信仰在里面XD) --
1F:推 yu800910: 顺便问一下史盖到底是不是伪娘?(举手04/26 10:47
我是喜欢异性的堂堂男子汉好吗...
2F:推 ruby0509: 对不起 我看成史盖喜欢堂堂男子汉.... 04/26 11:37
3F:推 apple1969: 看成史盖喜欢堂堂男子汉 +1 (掩面 04/26 11:45
--



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.226.104.198
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1535284144.A.647.html
4F:推 aaz123456789: 蛮好奇你怎麽学这套的 网路上资源很少啊 直接看文 08/26 23:20
5F:→ aaz123456789: 档吗 08/26 23:20
6F:推 m339606: 推心得! 我在MacDev板也有Xamarin的相关心得,想了解的 08/27 00:12
7F:→ m339606: 话可以参考一下 08/27 00:12
8F:推 neo5277: msdn 08/27 08:56
9F:→ neo5277: 然後有专门研究网站喔 08/27 08:57
10F:推 bf000777966: 老实讲我很好奇那个XARAMIN到底是怎样运作的,它是 08/27 12:13
11F:→ bf000777966: 把整个RUNTIME都搬过去吗,还是直接编译成NATIVECOD 08/27 12:13
12F:→ bf000777966: E,如果这样,一些功能不就没有了吗,像是GENERIC 08/27 12:13
13F:推 neo5277: 基本上他还是叫用原生API 08/27 12:26
14F:推 liddle: iOS 上,Xamarin 就是直接编译为 LLVM IR Code 然後丢给 X 08/27 20:19
15F:→ liddle: code。Android 上就是一个 NDK app。有 runtime。 08/27 20:19
16F:推 m339606: iOS与Android做法不同,推荐还是直接去看管方文档了解一下 08/28 00:55
17F:→ m339606: 细节比较好 08/28 00:56
18F:→ luluking: 分开学比较实际 除非你只想写些骗骗人的小东西 09/03 09:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP