软件开发到底是业务复杂还是UI复杂

最近在开发一个项目,大量使用了AJAX,对UI的开发有了一点新的感觉
有的时候我不断的问自己,软件开发的过程中到底是业务逻辑复杂还是UI复杂?看过领域驱动,设计模式,但是在平时的程序开发当中还是感觉业务逻辑并没有UI复杂,难道是我接触的业务逻辑不够复杂?项目不够大?

当然啊业务逻辑复杂了 UI复杂是因为现在还没有好看很炫但是简单的UI技术

这是不同的领域,应该有专门做UI的程序员。。。
典型极度复杂的UI就是大型的3D游戏。

现在,在开发中,很多人以为开发UI很费劲。有的项目,业务逻辑简单一点,结果反而是UI那边投入的精力更多。
这个其实是现有B/S方式的缺点:表现层
1)结构不规整,不但OO有困难,SP都难以做得很好;
2)B/S客户端的表现力太差,远不如从前传统C/S的客户端;
3)B/S客户端不能充分利用客户机的本地资源。
现在,世界上有许多机构和个人在研究兼具传统C/S与B/S优势的客户端新形式。

那大家对JavaFX是怎么样一种看法呢?他的未来适合企业级的开发吗?网上评论认为JavaFX没有很大的前途,但是咱们做Java的应该对JavaFX有另一个看法,我对这门技术不是很了解。想想windows操作系统的成功经验,越来越感觉UI做好了,很能忽悠住客户。个人看法,不知道大家有没有同感。

JavaFX是一种RIA(Rich Internet Application)。
RIA就是为了改善B/S的表现层能力。
目前看来,RIA是方向。但是,最终是那个具体产品胜出,现在不好说。
UI做得好,不仅仅是忽悠客户。对客户来说,UI主要决定应用是否易用。

我说一点我的想法。
如果说是业务层复杂还是UI复杂,我不是想跟banq唱什么反调,而是从我的感觉来说是UI复杂。为什么这么说,因为业务是有迹可循的,也就是说业务最终会一丝不苟的落实在程序当中,当一个项目确定下来的时候其实业务已经确定下来,可是什么是最后确定的??就是表现层的东西。比如在google的autocomplete出现以前,很多人根本没想到还可以这样做,而从它出现之后很多客户就会要求在软件中实现相应功能,这就说明了UI的不确定性更强。

其次表现层的东西由于面对的客户不同,有的人说好的界面可能有的人就觉得很别扭,由于人的多种多样,真的想做出一个大多数人满意的界面也不是很容易的。不过由于人具有适应性(做成什么样子都能用,不像业务你不是那个样子的就不能用),而业务无法具备适应性,所以通常软件设计的时候对人机交互部分没有太多探讨。但是一个好的UI确实可以帮助一个产品走向成功,apple就是一个很好的例子。

至于说未来是不是RIA,我个人的看法是,就像现在bs、cs共存的方式一样,这种东西主要是看客户的想法,但是只要将业务与UI分离,才是适应未来发展的解决之道。