

 Would you build a pure client-side JavaScript App using Pageforest? - mckoss
http://www.pageforest.com

======
andrewjshults
Possibly using the open source platform, fairly unlikely on a hosted version.
Why? I think it's almost certain that at some point I'm going to need some
configuration or tweaks to the server side code that are application specific
and cannot be done in client side code (validation, heavy lifting or secret
sauce things). As nice as it would be to not worry about the service side
code, once you get past the basics of a CRUD app, the server side become
rather important.

Off the top of my head the biggest early concern I'd have would be how are you
going to handle server side validation, since relying solely on client side
validation is pretty much just as good an no validation at all. Especially
complex validation involving multiple fields. The next would be interacting
with things like third party APIs that have access keys that need to be
protected or just can't be accessed from the client (because they don't offer
a JSONP interface).

~~~
drcode
Google App Engine (and other cloud providers) also places limits on how much
you can tweak the server side code. Clearly, there will always be apps that
require some crazy server-side C code or whatever, but for 99% of apps all
that matters is whether pageforest has exposed enough in the API to take care
of the important stuff (validation, etc.)

I'm not saying their API is good enough for this, since they just launched,
but from a theoretical standpoint I think the concept is sound.

------
olegp
I really like the concept, reminds me of CouchApps (<http://couchapp.org/>).

That being said, I agree with andrewjshults that sooner or later you will need
to write server side code, even if it is to proxy client side requests to
another domain.

mckoss, would it be worth making a server side implementation of your service
for <http://www.akshell.com> \- a server side JavaScript platform with
syncrhonous I/O and a browser based IDE. We're open sourcing the whole stack,
so there would be a lot less lock in than with AppEngine. Drop me a line on
our mailing list if you're interested:
<http://groups.google.com/group/akshell>

------
jporta
I don't think so. Also, since we're at it (I took some time to read the whole
frontpage) "(GET, PUT, and POST)" are standard HTTP (not HTML) methods.

~~~
mckoss
Oops. Thanks - I'll correct that. Any elaboration on why this service would or
would not appeal to you?

~~~
jporta
I don't see any obvious benefit in using it.

Relying on the the platform to handle the user authentication and document
storage is something I wouldn't be comfortable with, though I'd use it as an
option (as facebook connect, google or any other authentication service out
there).

In general, I think this would have been a hit 5 years ago. Now, with services
like heroku, phpfog, app engine, even github having free plans, the "hosting"
part seems to be solved, and something pretty similar can be done these days
with some sparkle from FB Connect and a bit of rails/php for the client side
storage.

Don't get me wrong, I like this kind of services because [I think] they push
innovation in different directions. It's just that I think there are a few
pretty well stablished and provide similar (or equivalent) functionality and I
just don't see any obvious advantage between this service and the others,
though I see a few drawbacks.

~~~
drcode
Sure, all those services let you write server code for free, but why write
server code at all if you don't have to?

~~~
jporta
Because I can. No, seriously, I didn't mean that server code _should_ be
written. You can use those services to serve static pages as well.

------
rmason
I don't see any mention of database. If you can't save or retrieve records
that's kind of limiting, no?

~~~
kazoolist
quoting:

What Services does Pageforest Provide? <snip> Cloud-based Document Storage -
Each Pageforest user is given storage for their own document collection in the
Cloud. When a user authorizes your application, your App can create and store
documents to the user's collection.

~~~
rmason
Document storage? Saving an html page to a directory could be document
storage.

They asked for comment and I think they need to be more specific that's all.
If they're using the GAE db imho they should say so.

~~~
mckoss
Good points. The back end is implemented on App Engine. But we provide an
abstracted storage interface. Application can created "documents" (up to 1 MB
of JSON, and saved using a HTTP PUT or POST). Our permissions model is based
on the document - you can keep a document private to a user, or make it
read/write able by others.

In addition, each document can have as many child "blobs" as you want (each
blob is up to 1 MB using any format - can be text, png, json, xml, etc.).

Interestingly, each "App" is very similar to a "Document". E.g., you
index.html file is a "blob" in the application.

------
drcode
I just want to say I have been wanting this forever and can't believe no one
has provided this before- I'm annoyed you guys beat me to this type of
product.

This is exactly how a web app should be created- All the apps I've been
creating lately are 95% client-side javascript and 5% of annoying server code
that could obviously have been implemented using a generic REST-based data
store.

I will be using pageforest extensively (Assuming it's not buggy, etc :-) Hats
off to you guys for being first to market on this!

~~~
mckoss
Don't be hater ... come work with us! ;-)

Seriously, thanks for giving it a try - I'd love to get your feedback on
problems you have using the platform...

------
HerraBRE
What are the key similarities or differences between this and
<http://unhosted.org/> ? Considered collaborating?

~~~
mckoss
Thanks for the pointer to unhosted - I've not seen this before. Sounds like a
standard protocol to separate application from data storage - pretty similar
to the Pageforest model - except federated!

~~~
HerraBRE
You're welcome! Glad to see you've already pinged the mailing list (I lurk).

Friday night networking! :-)

------
flipdeadshot
No; no I wouldn't.

~~~
mckoss
Please? ;-)

