Axiom Stack is Go!!

Being a web developer during the last few years has made for exciting times (if you’re a huge nerd, which I am).  The web has been a whirlwind of innovation and change with newer and better ways to create bigger and better experiences.  For instance, last week I signed up, created this blog and launched the first post in literally 20 min.  It’s still amazing to me even though I understand a lot about how it works.

A lot of this good stuff is made possible by web frameworks.  Some group of really smart people choose their favorite programming language and design a platform that abstracts away a lot of the details of building complex web applications.   This allows others to get to the important business of making something cool. What’s even more exciting is being a part of releasing one of these frameworks to the world.  Some buzz-killers are certainly going to bring up the fact that there is already an abundance of these platforms out there touting easy setup, rapid development and a powerful environment.  Well this is actually true.  But some of the hype is warranted and IMHO Axiom Stack is the newest addition to the kickass group.

What’s cool about it?

I’m glad you asked.  Let’s explore.

You program in javascript.  I’ve been a fan of the language for years.  I could go into why from a technical standpoint, but there are plenty of examples out there.  For me it’s simple.  I enjoy programming in javascript.  It’s simple and I can be extremely productive in it.  Using it in a server environment seemed like it would be weird at first, but it’s just as fun to use on the back-end as it is in the browser.

You can use Java if you insist.  Axiom Stack runs in a JVM and the javascript environment is provided by the excellent Rhino platform.  What this means is that you have full access to Java in your server environment.  This is an important distinction for Axiom Stack.  You have the speed and convenience of a dynamic language for most things.  But when you need that extra power, you can drop straight into Java and have full access to the packages and libraries therein.  Any useful software product or service has Java APIs these days.  The potential for mashups is tremendous and you can use code instead of the sometimes nasty business of managing web services and processing xml.  I know some people want to argue with the value of that last statement as well.  Maybe I’ll expand on it sometime.

JSON and E4x packaged in.  Speaking of processing XML!  If you’ve read about it, or played around with it in Firefox, you know you want e4x.  Native syntax and APIs for XML make working with it fun again (wait, was it ever fun?).  It’s one of those things that makes Axiom Stack so powerful.  Skip all the SAX/DOM business and just get to work on your document.  Rhino’s implementation is solid and you’ll be up to speed in no time.  And just as awesome, your JSON data is now native on your server.  JSON has become an increasingly popular method of data representation due to it’s advantages in size, simplicity and native support in the browser.  Now you can generate it and manipulate it directly on your back-end.

Fully integrated search.  Building sites on more traditional architectures like LAMP, you still have work a little harder to provide a decent search.  Granted, these days there are all kinds of packages to make searching simpler.  But imagine an environment where great search capabilities are not only built-in but designed in from the start.  The default data store for Axiom is Lucene, the free java-based search platform from Apache.  In Axiom Stack, search is part of your normal development environment.  All of your data is indexed and searchable by default, and you have full access to Lucene’s capabilities.  If that ain’t sweet then I don’t know what is.

Optional RDBMS storage.  If the idea of using only Lucene to store your data gives you an uncomfortable itch, you can use a relational database simply by setting one up and changing some configuration.  All of a sudden your data is being stored in MySQL (or whatever) automatically, your interface doesn’t change and you can feel safer at night knowing your tried-and-true db replication script is keeping you backed up.

So I’ve basically convinced you that I’m some type of marketer for Axiom Stack at this point.  But honestly, I’m just a pretty lazy programmer who has found that this web framework allows me to do really cool things very easily.  Is it the best out there?  Yes, probably, but I’ll let you guys fight about that.  The important point is go check it out.  And let me know what you think.

3 thoughts on “Axiom Stack is Go!!

  1. Axiom is designed for MVC architectures.

    You set up data models with AxiomObject prototypes.

    The functions you write for these objects serve as your controllers. The tutorials give a good outline of this.

    The views are easy to develop and flexible TALE templates. It’s a tag based templating language.

    There are a few key points to outline here:

    1. The function defined on a prototype are essentially object methods. The “this” keyword refers to the data object you are operating on.

    2. TALE templates are also invoked in the scope of the data object. What this means is that any data on the object is immediately accessible in your template.

    I’m probably going to write some additional points and try to expand further on these things.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s