Schlagwort-Archive: web application framework

Web Frameworks

Ich habe schon mehrmals über das seltene Problem gesprochen, dass es für mich zu viele ausgezeichnete Web Frameworks gibt. Ich kann mich daher nie entscheiden und wechsle immer hin und her. Am liebsten würde ich in Ruby on Rails, Sympfony, Django, Catalyst und Co gleichzeitig ein Projekt umsetzen, aber das ist schon aus zeitlichen Gründen wohl kaum möglich.
Jetzt wollte ich einmal nachsehen, ob es auch für C++ schon ein web application framework gibt, da C und C++ immerhin meine ersten Programmiersprachen waren, die ich aber seit langer Zeit schon nicht mehr nutze.
Ich fand dabei wt und interessante Kommentare auf dem zugehörigen Blog.
Hier geht es um die Meinung, dass die CO2-Emission stark reduziert werden könnte, wenn z.B. für Facebook C++ statt PHP eingesetzt werden würde. Ein kurzes Zitat daraus:

… a good example of a commonly used web application is called World of Warcraft. Instead of a PHP intrepreter, they use C++. The difference of course is that, instead of the website rendering text, it renders binary to it’s browser — in the form of a game client. The amount of database activity and computational algorithms is far more than facebook every will be
….
I think a more realistic view is to assume that PHP would only account for 5% of the overhead. Thus, porting it to C++ would only speed up that 5% by 10, but in the end, it would cost more money and time (and cpu to compile and debug C++) to develop. …

weiter Weblinks über die ich stolperte:
catalyst
radiantcms

adaxas

adaxas
Vor Jahren suchte ich für ein Projekt, bei dem es um die Bewertung von Websites ging einen Namen, der noch mit keiner Bedeutugn belget war. Ich fand Adaxas und adaxas.net war auch schnell beliebt. Ich hatte täglich schon etwa 3000 Besucher. Dann wollte ich das Projekt komplett erneuern und verbessern. Dabei kam ich auf das Problem, dass es einfach zu viele wirklich hervorragende web frameworks gibt. Hin und her gerissen von Ruby on Rails, Sympfony und Django testete ich auch noch einige andere, dann Google Web Toolkit und Google App Engine, also PHP, Ruby, Python oder Java. Letztere ist mir zwar nicht so symphatisch, aber mit Eclipse und Google App Engine ergibt sich eine sehr interssante produktive Möglichkeit.
Die Qual der Wahl hat mich gelähmt, aber jetzt nehme ich das Projekt wieder auf. Ich habe mich für Ruby und RoR entschieden, weil ich erstens in PHP schon zuviel schlechten Code produziert habe (nicht nur in PHP) und ich mir ab jetzt einen sauberen Stil angewöhnen möchte. Alles schön säuberlich getrennt, geplant, UML konform und sogar Kommentare will ich mir angewöhnen. Git zur Versionsverwaltung und ein (zumindest vorerst) privates Google Wiki zur Projektierung.
Die alten Daten will ich wieder verwenden, dazu lege ich mir wieder einmal adaxas.net an (gerade geschehen), denn eine eigene Domain brauche ich nicht für diese Spielerei; alpha_adaxas.net wird privat zum Entwickeln und auf beta_adaxas.net werden die ersten Resultate getestet. Sobald es die Funktionen hat, die jetzt in einem unglaublichen Mischmasch an PHP, Perl, Smarty, JS, Ajax, HTML und CSS zusammengestückelt sind (ein unglaublicher Pfusch), werde ich beta_adaxas.hirner.at mit www.adaxas.net ersetzen.

Programmierstil

Die Entwicklung nimmt nun allmählich die KI und Automaten in die Praxis auf. Durch „Acts As State Machine“ in RoR wurde ich darauf aufmerksam, dass die FSM (finite state machine) schon in einigen Frameworks verwendet wird. Es gibt auch schon ein Eclipse Plug-in
für UniMod

Currently, UniMod project is focused on designing and implementing applications behavior. Already implemented approach adapts SWITCH-technology for UML notation. SWITCH-technology is also known as Automata-based Programming and has it’s own Russian site https://is.ifmo.ru/english/.

SWITCH-technology suggests to model application behavior with a help of Structural Finite State Machine (FSM). Structural FSM is defined as set of Abstract FSMs and scheme of Abstract FSMs interconnections.

Eine interessante Entwicklung, die in Zukunft viel „Coderarbeit“ ersparen könnte, wodurch Programmierer sich besser auf die eigentliche Umsetzung des Algorithmus konzentrieren können.

Weblinks:
Finite-state machine
UML state machine version
StateWORKS
Automata-based programming
Programming paradigm
Modeling and Building Reliable, Re-useable Software (pdf)
Sprachen und Automaten Theoretische Informatik
Virtueller endlicher Automat