Domcom 常见问题

* Domcom有多大？

  当前最小化后大概21K+。总共包含src／下7个.coffee源文件约500行代码。

* Domcom支持哪些种类和哪些版本的浏览器？

  与React相同。

* 有Domcom依赖的外部库吗？

  需要React和ReactDOM。

* 使用Domcom和直接操作Dom有冲突吗？

  这方面需要谨慎。好消息是使用Domcom后基本可以杜绝直接操作Dom的需求。不管怎样，除非确实有需求，并且已经非常了解domcom的内部机制，请特别注意不要直接操作Domcom管理的Dom节点，包括使用原生的API或者库程序，比如jQuery。当然这不包括那些不是由Domcom生成的Dom节点。

* Domcom需要配套的库来完成MVC模式吗？

  简单的说，不需要。如果确实有特殊的需求，Domcom能更容易和更好地和其它库配合。

  和ReactJS类似，Domcom是一个专注于View的框架。但是两者在数据绑定与传递以及更新机制上显著不同，这种不同使得Domcom不需要使用不可变数据以及其它辅助的库来弥补框架上的缺陷。Domcom不象Backbone或者EmberJS等框架那样要求使用规定的Model类和Controller及其派生类，也不象AngularJS那样需要把Model纳入Scope层次，由专门的Controller来管理，甚至不要求象ReactJS那种将数据组织成props和state层次，将Controller方法定义为部件方法。Domcom应用程序可以最自由地选择Model和Controller的解决方案，最普通的Javascript语言特性（如变量、函数、普通的类和对象）等等都能很容易地融入Domcom中，作为数据绑定和数据传递的工具。绝大多数情况下，不使用专门的辅助库就是最合适的选择。这些特点可以从Domcom提供的[todomvc](https://github.com/taijiweb/domcom/blob/master/demo/coffee/todomvc.coffee)演示范例得到体验。当然，面对特殊的需求，Domcom也可以和现有的各种库很好地结合起来。


  这种优势既可以缩短学习和使用Domcom的进程，降低学习曲线，也可以降低应用程序的复杂性，减少代码量。

* Domcom有没有自己的模板语言？

  使用Domcom不需要另外的模版语言，因为使用js语言的嵌套数组`[tag, {...props}, ...children]`语法更加简洁明了。

