刚接触和学习odoo开发的进来谈谈
-
我是通过GoodErp了解到odoo的.当时我在晚上找开源会计核算系统,发现GoodErp,他提供了在线演示.我登陆进去就被吸引了,会计,进销存,界面这些都是定制的,觉得很不错,有些方面做得比国内的金蝶软件好.这个开发平台完全开源,有不少用户,还有若干年的发展历程,基于模块的开发比较灵活,提供的基础功能也比较完善,权限,工作流,即时消息,报表这些都有.当然最重要的还是开源和卖服务的理念.
花了大半月时间终于把odoo的开发知识点过了一遍.odoo的官方文档写得不详细,也缺少一些完整的例子,直接看官方文档会很吃力.也不像微软的开发者文档可以查询详细的api.我觉得官方的文档写得不系统,没有给初学者一个循序渐进的路线图.我在优酷上找了一个amos的odoo开发的教学视频系列,虽然不是基于odoo10,一些api的写法过时了,但循序渐进的例子,和清晰的讲解很适合我这种初学者.一步一步跟着视频做,对odoo的一些概念有了直观感性的认识.后来再在此基础上看官方的开发文档就容易多了.当然接触odoo之前我有c#,js,html,css,sql,xml,nodejs,net mvc core等相关只是积累.同时也花了一两天时间了解了下python语法和pycharm编辑器.动手是从在windows10'上搭建开发环境开始的,然后就是更联系amos的教学视频,再后就是边读官方文档,参照查看源代码进行学习.比较重要的一些切入口是,了解model,xml这些文件和postgresql数据库中的表的关系,前端js如何和后端paython交互,如何使用qweb模板,如何向模板传递数据和进行渲染输出过程.context,env,widget,action这些都是比较重要的概念.但你完成了自定义qweb报表的开发,也就可以利用html和js把界面做成想要的任何样子,也就差不多走到了二次开发的门口. 当然有不少坑,大家都遇到哪些坑呢?大家对odoo有什么看法和期待吗?
-
兄弟至少把帖子弄得让人能看吧。帖子可以用markdown语法编辑一下。不要缩进。
另外请注意修改一下错别字。谢谢! -
@huangtiger
老哥厉害, 我也接触odoo, 看文档看的有点懵逼。 -
我也说说我的odoo开发入门和学习的历程吧!
我不是程序开发人员,甚至我的工作不中根本不用接触到编程,我是做大理石贸易相关的.
我对编程的入门是基于爱好,我从小就喜欢计算机,只有中专的学历.毕业后就从事大理石的工作,为了把业务流程it化,开始的时候是用excel的表格来管理,这个阶段是都只是用excel的内建函数来做表格,后面为了数据录入更规范,接触到同是微软的office组件access,
在网络上找到了一个培训班,交钱报名后就开始学vba,sql,等其实这些都是自己跟着那个培训班的固定教程来学,根本没有老师讲课的,但有个好处就是,如有问题再群里有相应的老师会帮你解决问题!由于是交了学费的,所以老师帮你解决问题的响应速度和质量是其他的普通群没没法比拟的!这段时间算是对编程有了一定的了解(过程式编程)
在老师的帮助下和那个access框架下,完成了公司的进销存开发,由于这个是自己的业务流程驱动做出来的,所以在实际的使用也完全对口,对业务上好有帮助,而反过来在开发的过程中也吸收到比较正规的业务流程规范,反过来帮助自己公司的业务更规范!
这个系统使用2年后,感觉对移动端的使用日后会更大需求,也出于自己对编程的瘾,打算对旧的系统重构,而这次打算用真正的编程语言来做,就对python干上了!
用了3个月时间入门python语法,看到django能够做任何系统就开始学django了.结果在学django得过程中,发现还需要要补充css html 等知识,幸好这些我之前都要点底子,但要做出一个符合现代的web不会js是不行的,又学了一些js,再之后发现这个坑越来越深.不过无可否认,django的框架是设计的多么的好,我在django的框架中学到了怎样面向对象编程的思想,至今django这方面还令我 念念不忘.还有mvc的框架思想接着就接触到了odoo, odoo给我最大惊喜是他的页面方面的构建简单(这是因为对于一个管理系统,页面的格式都要求统一,对个性的页面需求不高),odoo把所有的js和css方面的东西都打包好,只需要对应他的格式填空就可以.这个在前端页面开发减轻好多负担,只需要专注业务逻辑的代码就可以.
odoo 的精髓是可以基于模块来开发(虽然django的app也是这个概念),不能但把odoo的当成一个框架来看待,要把odoo看成是一个软件来看,你可以在它本来的功能上去扩展,也是这个原因使你在学odoo二开增加了好大的难度,因为你想在它本来的功能上去扩展,你必须懂得他整个业务流程的原理,还要摸得透他的源代码,否则你无从下手,或只能把odoo当成一个框架开做开发.
其实现阶段我也只是刚刚学习odoo,我对odoo的了解还不够深入,但我对自己的一直走来对编程从不会到入门,都是带着需求来学习,相对学来的知识都能学以致用.