What’s Next for AppJet

We’ve been busy here at AppJet Headquarters working on some new developer tools. It’s now time to share a preview about what’s coming next.

We originally released AppJet as the easiest way to get a new web app online and hosted, starting with print(“Hello world!”), and it has since expanded to support simple database-backed web apps. Amazingly, over 2,500 apps have been built to date using the AppJet site, many of them pushing the boundaries for our envisioned “simple” use cases.

We realized, however, that in its current form AppJet is not adequate for building more “serious” applications. For example, It would be difficult to implement all of Facebook on top of AppJet, using only 1 file of source code and 50MB of persistent storage.

Historically, many of the best developer tools have emerged from specific applications that required them. During development, the application and tool progressed symbiotically, each to the other’s benefit. So to help AppJet grow into a platform for more serious apps, we have been building a more serious app.

Very soon we are going to release our new, more serious web app to the world. It’s built and hosted entirely on the next version of AppJet, which we may or may not decide to call “JavaScript on Jets” :).

The next step after releasing the app is going to be to release and open-source the new version of AppJet. We aren’t disclosing all the details yet, but you can be sure it will feature client and server JavaScript execution, loads of convenient libraries, a JavaScript database similar to the storage library you are familiar with, and many new power features for breaking up your app into multiple files of source code, modularizing control logic, database logic, and templates.

Even while we are adding these power features to AppJet, we are maintaining the simplicity of the current AppJet you know and love. We still want to enable quick apps that are 1 file of source code, and enable the developer to only add additional files and modules as needed.

We are also committed to maintaining AppJet in a Jar with the next version of the platform.

Stay tuned!


7 Responses to What’s Next for AppJet

  1. urdna says:

    That sounds really cool! But I’d say the name Appjet is better than JavaScript on Jets, just because the later is too long (in my opinion).

    I’m really excited to see what this will be like!


  2. vezquex says:

    Sounds solid. Separate source files will definitely make it much more serious, although anyone who goes in depth can see that libs do the same thing. And partial matching on database queries will add more power through fuzzier logic.

    I like where this is going, so keep playing that sweet instrument that is the computer keyboard. I’m counting on you guys to write the platform on which I will make my millions.

  3. autogram says:

    I love the simplicity of appjet, but I’ve found the database capabilities really limited. If you are planning to augment the storage interface with a more powerful JavaScript database, please take this very seriously and do not underestimate the task of designing and building massively scalable data services with continuous availability. I just started experimenting with appjet to build a microblogging application. Simple stuff like range lookups and text searching are not currently possible with appjet’s current storage interface. As an alternative, I’ve written a wrapper (called lib-simpledb) around Amazon’s SimpleDB to connect appjet with a more powerful and robust db. This is convenient because my app doesn’t need to manage issues like scalability, indexing, and most of all, HA.

    Building a cloud database with your platform as a service is challenging. From the get-go, you need to think about partitioning models (e.g., DHTs), consistency models, indexing, distributed query processing approaches, relaxed transaction models, parallel programming metaphors (ala map/reduce) and most importantly, paradigms for distributed fault tolerance. Without continuous availability, the value of the appjet platform and adjunct database services goes way down. SimpleDB, Microsoft’s SQL Data Services, and Google BigTable (via AppEngine) are informed by 30 years of distributed systems theory. The key to all of these cloud databases starts with rigorous implementations of distributed system primitives, viz., distributed consensus, failure detection, leader election, and state machine replication. As chief scientist for an enterprise middleware vendor that builds the leading cloud database for the financial world, I often tell fellow engineers and customers that the key to Google’s scalability comes down to careful implementation of Paxos (in Chubbylock), their use of map/reduce, and the fact that search is a read-mostly data set. I’d recommend, if you haven’t already, to think long and hard about data scalability and HA strategies. There’s the classic way to do this with partitioning and replication as well as newer approaches enabled by recent advances in virtualization.

    You’re doing an incredible job with appjet–serverside JavaScript can be a game-changing paradigm (aptana will help too)! I’m totally rooting for you and hope you become rock stars. Just don’t get bogged down trying to bite off too much. Let me know if I can somehow help you.

  4. joydispenser says:

    Any chance we’ll have a date on the new jet engine to power the future of the web?

  5. schipplock says:

    sounds like “oops, we realized the current state is useless for more than just playing around” and now you are rewriting the complete stuff to be more usable. Best idea ever! If you turn your promises into reality Appjet will be a killer app just because it’s easy to deploy and because the API is clear and well documented (for now).

    Go on (fast!) :).

  6. austegard says:

    Uhm, guys, it’s April. You still alive?

  7. dweekly says:

    [bump] It’s been six months. Any update? 🙂

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com 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

%d bloggers like this: