forked from quile/Womble
-
Notifications
You must be signed in to change notification settings - Fork 1
Objective-J ORM and Web Framework based on WebObjects/EOF
License
ignaciocases/Womble
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
WOMBLE - Introduction ===================== "Make good use of bad rubbish" This is a very early commit of a very nasty port from Perl of some very old code. ** Don't use this unless you're very brave and/or ** want to help! This code is under heavy development as of right now, May 13, 2010. It is being ported at a fairly rapid rate from a Perl framework that is stable. This port can not be considered stable in any way at all. However, hopefully this will change soon. What is WM? ----------- WM is based on the web framework and ORM previously in use at Idealist.org. The original framework was developed in-house but heavily influenced by WebObjects and EOF. Porting it to Objective-J seemed fitting and convenient; it also fills a gap in providing an ORM and web framework written in Objective-J; something which is currently lacking. Status ------ The API is in a state of flux. The code itself was partially machine-ported, so it's pretty crazy-looking (on top of being based on old, crazy-looking Perl). Currently only the ORM and related functions have been ported to objj. Some of the tests have been copied from perl and recoded verbatim; they're pretty basic but will show some of the basic functionality. Next up in terms of porting will be to port the component-based web framework. Anyone familiar with WebObjects, Seaside or Tapestry will be at home with it; hopefully as I learn more about the Javascript runtime, I'll be able to take advantage of it to make the web development cycle more productive and fun. Background ========== In 2000, WebObjects and EOF were state-of-the-art tools for building advanced web applications. Apple was in a state of flux, and had signed a pact with the devil to port WO/EOF to Java, and EOL the obj-c (& webscript) version of these great tools. WebObjects was not free; it was $700 or so, and if I remember right there were some fancy deployment licensing issues. When I started working for a tiny non-profit with no real budget and an existing site in Perl/CGI, I did my best to structure new development on models I was familiar with -- from WO/EOF. This was 10 years ago and there weren't very many useful tools around at the time in Perl; there was certainly no ORM even close to the power of EOF (there still isn't but there are some that will do the job). There was no decent component-based web framework, and people were still using (and actively encouraging) total rubbish toolkits like HTML::Mason. So over the next year or so, the seeds of this code were sown, in Perl. Eventually after many years of "code-as-needed" work, the framework filled itself out. It diverged in many ways from its WO/EOF roots, and in greatly inferior in most ways. There are numerous soft-spots and bugs; those are avoided and worked around in our application code because we know where they are; We have very poor test coverage and what tests we do have were mostly written years ago and are not up-to-date in terms of testing methodology. A small non-profit generally doesn't have the luxury of building large teams of coders, using fancy programming methodologies and spending money and time on things unless they're absolutely necessary. This has forced us to cut a lot of corners, but the good side-effect of coding-to-necessity is that we actually launch code; we can't afford not to. The perl version of this framework is not (yet) open source, but will be soon, as it is being EOL'ed within the next few months and being replaced by a more current Python-based system. This obj-j port of the framework is entirely my work; none of this code is in production, or has been used in any way whatsoever by my employer. However, I am very thankful to them for their generous support. DISCLAIMER ========== This is rough. A lot of it is half-arsed. It's currently a half-arsed port of a half-arsed implementation of some cool tools. I'd love to clean it up and make it less-half-arsed but I am doing this on my own time and I can't make any promises! HELP ==== Any/all help would be greatly appreciated; I realise it's a pretty big ask. But if anyone out there is brave enough to give it a try, I'd be happy to help out. I know this is shitty and messy; I don't need anyone else to tell me that. The growth of the original framework was very ad-hoc, and was often driven by the Quick And Dirty Way. I'm trying to clean things up but it's still very patchy indeed. I would love constructive criticism and welcome any help that anyone would want to throw my way! It needs a lot of work; clean-up, optimisation, -kd may 2010
About
Objective-J ORM and Web Framework based on WebObjects/EOF
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Objective-J 96.4%
- Perl 2.5%
- JavaScript 1.1%