Motivation

Last updated 4 months ago

Nowdays development of applications becomes more complicated than ever, new requirements come and code base is growing fast. Programming products must be easy testable, scalable and supportable, as updates are shipped to production really often. Without clear architecture and structure, this complexity becomes difficult to handle.

Another thing is team collaboration. Code must be readable and understandable for all team participants. Focusing on business logic, not on settings and environment, leads to faster and better quality development. Loosely coupled code provides wider possibilities for parallel development and testing.

Definitely, a lot of things can be automated and optimized in server-side development, that can reduce number of bugs and time spent on programming.

But the main criteria is minimalistic, idiomatic and nice looking code. Inspired by other popular enterprise frameworks in other ecosystems (languages), Odi provide developers with powerful API set, that will make not only enterprise development more convenient and pleasured. Odi includes patterns and solutions, that the community has loved for many year. Other goal is useful, clear and intuitive API. So developers, even from other languages (frameworks) like C# or Java, can easily start development without much reading of docs.

TypeScript were chosen as the main language of Odi. It gives a lot of possibilities, that allows developers to get the best development experience with intellisense and etc. in most part of code editors. Other reasons: powerful type system, great community and familiar syntax.

List of main goals can be extracted from above:

  • Testable, supportable, scalable

  • Minimalistic, idiomatic, clear

  • Intuitive, readable, understandable

  • Powerful

Odi will grow with community and newly featured technologies, to be always in trend with others. For example: Odi aims to support Deno in near future. That can give a lot of benefits, such as performance and etc.