[ANN] SWS 0.2 released

  • Thread starter Marek Janukowicz
  • Start date
M

Marek Janukowicz

I am proud to announce new release of SWS web development library.

What is SWS?

SWS is a web development library. Its major design goal is to follow
the Model-View-Controller pattern, to take the burden of parsing HTTP
parameters and keeping the session information out of developer
shoulders and to make web applications easier to write by using reusable
components. It enables rapid development and easy maintaining of even
complex web applications, such as database ones (together with database
access library - SDS.

What's new in this release:

1. Adaptors - the application can be deployed standalone or
as a FastCGI program and additional adaptors (like a
Webrick one) can be easily added
2. Frameworks (libraries containing components, code and
resources
3. HTML parser rewritten (should now parse all valid HTML
files)
4. Resource (images, CSS files etc.) handling
5. DirectAction (URL-based entry points)
6. Component-based customizable exception handling
7. Several new components (FileUpload, Link, GenericContainer
and GenericElement)
8. Multipart/form data handling
9. Session number limit and two scenarios when the limit
reached (kill LRU session or refuse new one)
10. .sws files have now YAML format. .api files added
11. A lot of code refactorings and bugfixes
12. New documentation, tutorial and more examples

Where to get it:

Home page - http://www.starware.one.pl/software/sws/index.html
Tarball URL -
http://www.starware.one.pl/software/download/sws/sws-latest.tar.gz


Please send any suggestions/blames to (e-mail address removed).
 
G

Gavin Kistner

I am proud to announce new release of SWS web development library. [...]
Home page - http://www.starware.one.pl/software/sws/index.html
Tarball URL -
http://www.starware.one.pl/software/download/sws/sws-latest.tar.gz

I'm just about to embark upon a large application, and am very
interested in checking this out.

I'm especially impressed that you have released it not only with
reasonably complete RDoc documentation, but a user guide and tutorial,
too! (Proper documentation seems to be one of the biggest barriers I'm
having when evaluating various fledgling Ruby-based web frameworks.)

Thanks muchly for your work...feedback soon! :)
 
M

Martin DeMello

Marek Janukowicz said:
I am proud to announce new release of SWS web development library.

What is SWS?

SWS is a web development library. Its major design goal is to follow
the Model-View-Controller pattern, to take the burden of parsing HTTP
parameters and keeping the session information out of developer
shoulders and to make web applications easier to write by using reusable
components. It enables rapid development and easy maintaining of even
complex web applications, such as database ones (together with database
access library - SDS.

Looks wonderful! As a big fan of the WebObjects philosophy, I'm
looking forward to playing with this.

One question - why _class: rather than class: in the sws files?

martin
 
M

Michael Nestler

Marek said:
I am proud to announce new release of SWS web development library.

What is SWS?

SWS is a web development library. Its major design goal is to follow
the Model-View-Controller pattern, to take the burden of parsing HTTP
parameters and keeping the session information out of developer
shoulders and to make web applications easier to write by using reusable
components. It enables rapid development and easy maintaining of even
complex web applications, such as database ones (together with database
access library - SDS.

How does SWS compare to CGIKit or other WebObjects-like frameworks? I
only know Tapestry (Java) and I love it, but I would also like to start
learning such a framework for the Ruby language. It would be great if
you could compare your framework if possible.

Thanks,
Michael
 
M

Marek Janukowicz

How does SWS compare to CGIKit or other WebObjects-like frameworks? I
only know Tapestry (Java) and I love it, but I would also like to start
learning such a framework for the Ruby language. It would be great if
you could compare your framework if possible.

The most usual question - I think I'll add the answer to the
announcement and documentation on next release :)

Disclaimer: the comparison below can be unfair, incomplete, biased or
totally wrong - but I am writing it using my best knowledge (which may
be a bit out of date). Please correct me if I am wrong at any point.

SWS vs CGIKit:

The biggest difference is that CGIKit (as the name suggests) supposed to
be used to create CGI and mod_ruby (= non-persistent) applications. In
contrast, SWS is designed to create persitent, FastCGI or standalone
applications. So if you want to write some short script, CGIKit may suit
you better. But if you need to implement a full-blown application, SWS
should be better.

Another differences - Session objects and binding/slot handling are a
bit simplified in CGIKit, while in SWS they are very similar to what
WebObjects offers. But in fact it is rather a small difference for the
user.

I also think SWS has better documentation now, however CGIKit docs are
good too. I just realized Suzuki has an example of addressbook and I use
such an example for a tutorial :) But this is just a conincidence, I
didn't meant to pick his brain :)

I was about to write SWS has a database library coupled with it and
CGIKit doesn't, but I entered CGIKit homepage and saw something called
TapKit, so SWS has no longer clear advantage at this point :) Yet TapKit
only supports MySQL now and SDS supports also PostgreSQL (and it is very
easy to add support for new databases).

I also want to make SWS as fast as possible without loosing the
functionality - I would like to rewrite the core in C, if it would
improve the speed. I think Ruby is really missing a library to write
serious, complex WWW applications and would like to fill this gap. I
know there is still a lot of work before me, but I would gladly see Ruby
in the areas where now Java (for example) is used. That's why I want to
create real development tools for SWS (using KDevelop and Quanta as a
base probably) - I know it is possible to write everything using Vim (I
use it myself a lot), but - using WebObjects daily at work I realize how
often simple tools like WebObjects Builder and EOModeler can save your
butt :)

After all, SWS and CGIKit are quite similar - if the biggest difference
I mentioned above wasn't there, I would be probably involved in CGIKit
development now :) There is a possibility SWS and CGIKit could merge at
some point, but right now there are too many differences in design, not
the functionality...


SWS vs Java libraries (WebObjects and Tapestry):

SWS is modelled after WebObjects, so in the areas where Tapestry is
similar to WO, it is similar to SWS too :)

SWS is intended to be as similar to WebObjects as possible, but there
are a lot of differences caused by the differences in underlying
programming languages. There are also some WebObjects concepts missing
in SWS, like D2W and external adaptors. I'd like to add some new ideas
to SWS, like internal testing capabilities, which are absent in WO.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

SWS 0.3 released 0
[ANN] SWS 0.2.1 released 1
SWS 0.1 5
[ANN] BareTest 0.2 released 6
[ANN] net-ldap 0.2 Released 0
[ANN] ditz 0.2 Released 0
[ANN] SDS 0.2 released 1
ANN: PyQt v5.3 Released 0

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,736
Latest member
zacharyharris

Latest Threads

Top