i am trying to build an oracle hcm api tol, should...
# cfml-beginners
s
i am trying to build an oracle hcm api tol, should i use taffy or coldbox? suggestions
a
Hrm... https://en.wikipedia.org/wiki/HCM... I'm guessing "Hausdorff Center for Mathematics"? That aside... your question is a bit like "I'm trying to cook food. Should I use a stove or an oven?"
s
oven ?:)
a
Excellent. Based on that analysis, I think this online calculator should be able to work out which you need. Run this: https://trycf.com/gist/4ee8e33a8f594389203e365f78a7baa3, and it will work out which you should use, based on all the useful criteria you have thusfar given us.
🎯 2
😂 2
i
Here is what ChatGPT has to say about it "Both Taffy and ColdBox are popular frameworks that can be used to build RESTful APIs with Oracle HCM Cloud. The choice between them depends on your specific needs and preferences. Taffy is a lightweight and flexible framework that is well-suited for small to medium-sized projects. It is easy to set up and has a low learning curve. Taffy uses a convention-over-configuration approach, which means that it provides sensible defaults that can be overridden as needed. Taffy is also extensible, which allows you to add custom functionality to your API. ColdBox, on the other hand, is a more robust framework that is designed for larger and more complex projects. It includes a wide range of features, including caching, error handling, and logging, that can save you a lot of time and effort. ColdBox is also highly modular, which means that you can easily add or remove functionality as needed. However, the learning curve for ColdBox is steeper than for Taffy, and it may take more time to get up and running. Ultimately, the choice between Taffy and ColdBox depends on your specific needs and preferences. If you're looking for a lightweight and flexible framework that is easy to learn, Taffy may be the better choice. If you're building a larger and more complex API, ColdBox may provide the features and functionality you need."
e
No offense, but Do not get trapped in other people's frameworks. It's like the dark side, Quicker, faster & more seductive but a Jedi, It will make you NOT! Seriously, write your own code, Even if you take large snippets from Taffy, you will learn more by doing than by being spoon fed.
a
Wow that's the worst advice I've seen on here for quite a while. That is quite an achievement.
🤣 2
e
Why, they will just go cut and paste from stack overflow anyways. 🙂
a
The only time one should write a framework is if one is in the business of writing frameworks. If one is - for example - wanting to develop "an oracle hcm api tol" (sic) then what they want is an oracle hcm api tol (sic), not a framework. So they ought not be wasting time and effort reinventing a wheel (which will likely end up being at best a wobbly oval shape). They should start with a framework, and focus on building their app. Succombing to NIH Syndrome is the hallmark of a professionally-adolescent developer.
e
ColdBox. Definitely.
💯 3
c
I thought taffy had stopped getting updates years ago, but it got one last year. Still though coldbox likely going to be a better long term bet I woulda thought. Use both and coldbox wins for me
g
We use Taffy in our application and it manages everything, really well. Aside from the learning curve differences - you should really be looking at t he features of both and choosing the one that is going to serve you the best over the long-term. If Taffy does everything you need - or almost everything you need - and the missing part(s) - you can source via different library / write your own solution for - then the simplest and cleanest option, wins for me - every time. However - even if you don't think you need them right away - but the features of Coldbox hold value for the solution you're wanting to end up with - then go with CB. Features aside - you should also consider.... Taffy works great and is simple. But it is not "actively" supported / updated. This point, alone, doesn't rule it out though... if it does everything you need, already - why will it need be upgraded? Code that works IS code that works. Coldbox is actively maintained by Ortus Solutions and their active users. It has spectacularly awesome documentation - once you work it out. It has appropriate connections with the other Ortus libraries / frameworks - if you need them in your work. Keep in mind - how much do "I" need to learn? How much do I need to teach others? How easy is it to maintain my solution if I am using XXX or ZZZ? Lastly - you're building an application / service ABC1234.... What helps you the best in meeting the requirements of ABC1234? Absolutely no point at all in choosing Taffy or ColdBox if they are not helping you with the successful production of ABC1234 - or if they're always getting in the way of you being able to do what you want / need for ABC1234. Your business is ABC1234 - not MY framework is better than yours.
a
The only time one should write a framework is if one is in the business of writing frameworks.
I think it is worth trying to write a framework as you'll learn lots and quickly realise why writing your own framework is a bad idea :D
Why the heck you'd actually try and spend time and effort building your own framework instead of using a proven one that already exists is crazy.
I maintain homegrown (sob), FW1 & Taffy powered APIs - plan to move it all to ColdBox though
e
I still see clients whose shop is maintaining home grown frameworks, not because it’s hard to switch but because they think theirs is better. Sort of like, hey it’s just an event name and action, and I know how to use cfcontent so what’s the big deal? The same goes for CSS frameworks of course. They are usually the result of smart devs but make adding new features more time consuming than needed and onboarding new people really difficult.
e
I didn't say WRITE your own FRAMEWORK, I said, "WRITE YOUR OWN CODE". Yes, frameworks are nice, fast, and even sometimes downright "fun" but if you want to actually LEARN a language and how it works, then do the hard work yourself. Even if you scrap your code later on for a framework, you have a better idea of what the framework is doing under the hood and ultimately write better code & hopefully have a better understanding of how to debug code. Writing some wonky constrained specially formulated framework way of doing something is a hindrance to learning the basics of a programming language.
a
eye roll You literally said "Do not get trapped in other people's frameworks. [...] write your own code,". And none of what I elided changes the context. You went on to say "Even if you take large snippets from Taffy, you will learn more by doing than by being spoon fed." That is very much saying "don't use a framework"... "write your own".
BTW: I think it's still impossible to answer the original Q in an informed fashion with the zero context we were provided, but on the basis of both Taffy and CB will do the job, and CB is still seeing live and active work going into it - and it's pretty easy to use if not as easy as Taffy - I'd probably use CB for a new project.
e
Sure, FUZZY logic and assumptions, I am not sure where Write your own code" becomes translated to UK English as "Write your own Framework", but then again knocking someone up and having a spotted dick is very different depending on which side of the Atlantic one is on. LOL - It is all good.
s
From a learning perspective I think I would agree with Evil Ware that jumping right into developing something with a community framework, without first having a working knowledge of the programming language and the framework you are using is probably not the best way to learn. It is pretty clear that simone does not have a working knowlege of these two framworks, or they would not be asking this question here, or would at least have a question that is well thought out and clear. But assuming that simone has a working knowledge of CF and they are wanting to use a framework for the purpose of not having to start from complete scratch on the project, and the additional benefit of any other developer on their team can follow the same framework and not end up with a big pile of spaghetti in 5 years. Then it is a matter of which framework is the best for the job. (That could include a homegrown framework as long as it is well thought out, documented and implemented in such a way that the team will follow it). Even with a community framework, it can still turn into a big mess if you bring in developers that don't take the time to learn whichever framework you choose. That being said, there certainly is not enough information about the application goals included in the question in order for anyone to make a fair assessment of which framework would be best for this job.
j
Just to piggy back on top what others have said, you should also be writing your own CF engine in java. Otherwise you are just handicapping yourself in the long run. Too many developers fall into this trap. Always reinvent the wheel
😂 2
s
That is what is called “false equivalence”… CF engine does not equal a java framework