给所有使用FMX(FireMonkey)进行开发的忠告!

7 篇文章 0 订阅
3 篇文章 0 订阅

没有废话,直接正文:


    在开始之前,首先我假设您有10年、或者20年甚至是30年的Pascal开发经验,由于种种无法解释且又无法摆脱的原因而不得不使用FMX来进行苦逼的开发,所以,我觉得下面是您所必须要了解的:
一、放弃,放弃,再放弃!
    这句话我宁愿每天说100万遍,宁愿让它长在您的脑门上,刻在您的脑子里,穿在您的衣服上!所以,请放弃使用FMX的开发,放弃,放弃,再放弃!不要问为什么。。。如果,您某天发现这段话是对的,请一定要对我点赞!
二、不幸的阻塞
    好了,您没有被上面一段话吓倒,视死如归、大义凛然、义无反顾、破釜沉舟、依然决然的要使用FMX。很好,您面临的第一个问题就是:界面(UI)阻塞,简单点儿说,UI纯粹是用来显示数据的,除此之外,它不应该有任何功能,也不应该阻塞任何操作!但是,由于Windows上的开发习惯,你已经适应了MessageBox,ShowModal等等阻塞,所以,这是第一个障碍,您必须跨过去!方法:
    删除或改写所有ShowMessage,MessageBox,ShowModal等等阻塞UI的代码,如果不确定,请直接删除,因为这就是万恶之源,一切未知可怕的错误几乎都来自于这些简简单单的阻塞!它们的存在都在时时刻刻提醒着你,那里有一个定时炸弹,一个不知道什么时候就会爆炸的定时炸弹!所以一定要记住:除了让UI显示数据外,不要让它做任何无聊的事情!
三、多线程交互
    记住,所有UI操作包括释放理论上都应该在主线程中进行,如果要在数据线程中进行UI显示(操作),请一定记得线程同步!线程同步!线程同步!否则,各种AV错误会变着法的把你折磨得死去活来,欲仙欲死,痛不欲生,泪如泉涌,暴跳如雷。。。也许您还有更多更可怕的成语来描述您心中的那无数匹羊驼。。。
四、理解差异
    上面的二和三如果能让你顺利过关的话,我应该说:恭喜你,恭喜蜕皮成功!蜕皮的疼痛应该去问蛇,问螃蟹,问所有一切有壳限制成长的生物,你有和他们相同的疼痛时也许才能说您准备好更进一步了。
    回归正题,这里的差异指的是您日常开发中的Windows和移动端的差异,你需要认真理解并每天重新升级自己对这种差异的认知,否则,极有可能猫也没画成,老虎也没影。。。
    好吧,这么说吧,Android开发能让你再蜕一层皮,IOS开发依然能让你再蜕一层皮,那些说“一套代码到处编译”的忽悠小白还是没问题的,但是,您得仔细想想:您能这么容易被忽悠吗?
五、可怕的第三方
    如果说,经过四的蜕皮,您已经准备开始大展拳脚的话,我建议您还是先了解一下如何集成第三方SDK(工具)吧。除非您绝不用任何第三方的SDK,那么问题来了,如果不用第三方,您开发毛线啊???有意义吗?
经过艰苦卓绝、痛不欲生的漫长熬夜岁月后,您终于把要用到的第三方SDK给集成进来了,好吧,恭喜你,开发入门终于成功!
六、万里长征终于开始
    蜕了好几次皮,终于要开始大展宏图,那么下面这些问题(坑)一定要注意:Z-Order,WebView,各种花哨的显示效果,内存占用的疯狂,奇葩的编译结果,垃圾的垃圾回收,永远改不完的架构Bug以及让你哭得死去活来的编译Bug,还有那永远赶不上操作系统、编译工具的更新,说难听点儿,吃屎都赶不上热乎的。。。即使经过这么痛苦而漫长的蜕变,您也刚刚准备好开始万里长征,心里是不是又跑过去无数群羊驼呢?
七、要成精吗
    建国后,我们已经严禁成精了,所以,您可以看看走完上面的2~6步骤要花多少时间,无论您花过还是没有花过,您一定要有一个肯定且正确的概念:使用FMX进行开发,您不可能升天成仙,更不可能半道成精,只有一种可能,那就是,参看第一条!

最后:我很想把这段文字变成吐槽的,但是,请相信,上面这些文字中的每个字都代表一滴泪或者一滴汗,所以,请注意:这段文字绝非吐槽,请自行甄别!

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值