5 ms·
Raphters: A web framework for C
- AlexanderDhoore 13y agoSeems like a good option for hardware devices like routers, firewall appliances, ... This won't be the next agile, ninja hacker, 1337 web development platform. But it could have it's own niche of the market.
- davidw 13y agoEven stuff like that has enough memory to run something like Tcl or Lua though, which are likely to be a bit safer.
- kjs3 13y agoJoke, right?
- 10098 13y ago> his won't be the next agile, ninja hacker, 1337 I remember words like "hacker" and "1337" being used to refer to people who did reverse engineering, participated in the demoscene or just defaced websites for fun. My, how the tables have turned.
- AlexanderDhoore 13y agoI'm just using random hipster words to show how I feel about those web frameworks. It's a miracle I didn't tag it #YoloSwag
- huhtenberg 13y agoDo you remember ninja hackers do that?
- voltagex_ 13y agoI'd love if it was in my routers, the currently consumer-level routers are so bad I have to purchase based on whether I can replace the firmware with OpenWRT.
- vezzy-fnord 13y agoThis is two years old. Another web application framework in C is Klone: http://www.koanlogic.com/klone/index.html http://www.koanlogic.com/klone/index.html
- kenkam 13y agoThis is news to me. Each to their own, I guess.
- lneves 13y agoYou can also add Duda.IO to the list: http://duda.io/ http://duda.io/
- X4 13y agoOh yeah. Duda.IO totally rocks! Used it, love it! Psst: There are very nice improvements coming to that project …
- dmoreno 13y agoAnother one quite more complete: https://github.com/davidmoreno/onion https://github.com/davidmoreno/onion Disclaimer: I'm the author.
- sircomatose 13y agoAnd then there is also Kore: https://kore.io https://kore.io
- leokun 13y agoHow do the templates work? I've only ever used ClearSilver templates with C.
- iwwr 13y agoThis is the only instruction on how to run the examples: "The examples are deployable via fastcgi." A more hand-holdey approach may be appreciated.
- danpalmer 13y agoThis seems to be quite well written. However, this is a really bad idea for anything other than learning/hobby work. Writing a web application in C is just asking for security trouble. Writing in C introduces whole families of vulnerability that aren't a problem in most other languages. Format string vulnerabilities and buffer overflows are the two that immediately come to mind, and these will be added to the normal host of web application security considerations like SQLI, CSRF, XSS, etc.
- DanWaterworth 13y agoAuthor here. I completely agree. I wrote this just because I could and because I was going through a phase of writing everything in C. I wouldn't recommend anyone actually try to use it.
- sramsay 13y agoJust out of curiosity . . . What followed the phase in which you were writing everything in C?
- DanWaterworth 13y agoI got my first job. There's nothing like a dose of the real world to break you out of such phases. However, I still hadn't reached maturity, I just had a complete reversal and started writing everything in Haskell instead. It's only been recently that I have started sitting down with projects and thinking, which language makes sense here?
- exDM69 13y ago> However, I still hadn't reached maturity, I just had a complete reversal and started writing everything in Haskell instead. I've been through these phases too. But they keep on recurring time after time. I've been writing everything in C, then C++, then Haskell, then back to C and this has been going on for years. Well at least both Haskell and C have good educational value, so even if it is a bit odd, you're still learning valuable skills.
- pjmlp 13y ago"If you’re a C developer looking for speed (and security) you might give Raphters a look for your next web project." I had a laugh, mixing C and security on the same sentence.
- DanWaterworth 13y agoAuthor here. Yes, I can only look back and cringe.
- jnbiche 13y agoThis is a cool project, but if you're looking for something that is safer and yet runs at similar speeds and requires similarly low memory levels, I suggest vibe.d -- D's primary web framework[0]. It's progressing very quickly. 0. http://vibed.org/ http://vibed.org/ Edit: Added "safer", which was my original point here that I forgot to include.
- deleted 13y ago[deleted]
- msutherl 13y agoAh, RAPHT is so much clearer than MVC: https://github.com/DanielWaterworth/Raphters/blob/master/RAPHT https://github.com/DanielWaterworth/Raphters/blob/master/RAP.... I would love to see more projects adopt this architecture.
- velis_vel 13y agoIs it? It's not really clear what a 'transformation of data' entails, or why handlers and actions are separated.
- msutherl 13y ago"Transformation of data" makes a lot of sense if you're accustomed to "pipes and filters" architectures. It's anything your program might actually do with data that passes through it. Doesn't matter what it is – it's a black box! Why should handlers and actions be separated? Because they're different things! This is already standard in web architectures: the router is a collection of handlers and the functions that the router calls out to are actions. I like that actions are separated out from the monolithic "controller".
- marshally 13y agoI wouldn't say I've been missing it, Bob
- emmelaich 13y agoObligatary on-topic comment: seems like a lot of code for a not a lot of result; I would like to see templates (with optional template parms) used to provide the 'usual' values. (yes I know templates aren't C, but you can use them minimalistically since they're orthogonal to the rest of C++.) Digression comment: Has anyone used GWAN? It looks awesome, but the website hints at some eccentricity. http://gwan.com/ http://gwan.com/
- fat0wl 13y agoahahah "eccentricity" best adjective craftsmanship ever... looks like a cool idea but i feel like hardware-optimization stuff will be wrapped into server OS eventually if its meant to be (I'm sure it already is in some ways). If you want to be cutting edge tho give it a shot? eheh so impressed with "eccentric" tho. it's funny i love Clojure & i feel like its a bunch of "eccentric" vibing trying to tame itself into something that looks like trendy web sites (Rails community kinda pages, though in Rails it seems there is a flashy site for practically every popular gem whereas in Clojure the biggest thought they're willing to formulate is some real minimal framework)
- derleth 13y agoHere's a review of GWAN: http://devopstom.com/blogish/gwan-snakeoil-beware/ http://devopstom.com/blogish/gwan-snakeoil-beware/ Not very positive. Previous discussion on HN: https://news.ycombinator.com/item?id=4109698 https://news.ycombinator.com/item?id=4109698 Contains this little comment by me: https://news.ycombinator.com/item?id=4109804 https://news.ycombinator.com/item?id=4109804 > From the site (which seems to disallow copy-paste): >> The next time someone feels the need to publicly call G-WAN's (1-page) license "weird" or "insane", look at what they sell and who they get their revenues from. Unlike for G-WAN, what they offer is not free for all. > They have redefined the word 'free' into a fine mist if they expect you to believe Apache and nginx are not free. They're doing something I've seen done before; oddly, it was mainly being done by Usenet trolls.
- phaed 13y agoA masochists' best friend. All joking aside, good job.