Re: Couchapp experience in 2016

2016-09-07 Thread Johs Ensby
Jan,

The playful exploration of the single-tier functionality has followed CouchDB 
from the very start. It is one of the unique features, and even if you regard 
it as a side effect it has always held a great potential for creating interest 
and try-out activity for the project. 
Hence, it definately belong in the weekly news.

It goes without saying that this is IMO and all of that. I just dont to include 
the H because I dissaprove strongly of your respons to the massive work that 
ermouth has done to explore the limits of the so-called "coachapps":

To send signals of dissaprovment without giving a single reason is lazy and 
disrespectful, especially in this case given the quality and thoroughness of 
ermouth's work. To discourage couchapp contributions from the weekly news is 
extreme.
It is unworthy of an OS  project.

johs 

On 2. sep. 2016, at 08.27, Jan Lehnardt  wrote:

Project wise, we probably shouldn’t get people too excited about CouchApps at 
this point.


> On 2. sep. 2016, at 09.10, Jan Lehnardt  wrote:
> 
> 
>> On 02 Sep 2016, at 09:08, Alexander Shorin  wrote:
>> 
>> On Fri, Sep 2, 2016 at 9:53 AM, Jan Lehnardt  wrote:
 On 02 Sep 2016, at 08:45, Alexander Shorin  wrote:
 
 Still, it's about CouchDB use case with pro/cons described (;
>>> 
>>> sure, I just wouldn’t put it in the weekly news ;)
>> 
>> Why not? It's good, real experience that shows that better pick
>> node.js to get better performance rather than stay and dance around
>> couchapps which is fun. We don't have quite a lot of posts like that
>> kind.
>> 
> 
> I’m not inclined to explain my position on CouchApps yet again.
> 
> I’m not the editor in chief for the weekly news, but if asked, I would not 
> include this item for reasons that are reasonably well documented in the 
> mailing list archives (so not very).
> 
> Best
> Jan
> --
> 



Re: Couchapp experience in 2016

2016-09-07 Thread ermouth
Thank you, Giovanni!

> For me, choosing a 1-tier architecture

Actually, we still need kinda reverse proxy in front, mostly to have
gzipped answers (and, optionally, prepend Cache-control headers).

Without js rewrites I had to use Apache or node to avoid web server
recompilation on rules change. Now I can use nginx since rule list is
stable and I need to compile nginx only once don‘t bothering about internal
routing rules.

> by choosing extreme ease of
> development(in-browser development, same javascript language for frontend
> and backend)

I still don‘t think couchapps are easy in common sense, mostly because
technologies are limiting and concepts are off mainstream. However, I admit
now that couchapp concept is less limiting than I thought a year ago )


ermouth

2016-09-05 11:28 GMT+03:00 Giovanni Lenzi :

> Great job ermouth, you are always on the front line on pushing couchapp
> borders!
>
> JS rewrites seems to really enable them to any kind of use. Performance may
> be a limit if you are really interested to squeeze each available cpu
> cycle, ok but, from a business perspective, how does it cost to reach
> and mantain this speed? May be an interesting question for your article
> too.
>
> For me, choosing a 1-tier architecture(couchdb with js rewrites and default
> vhost) over the usual 3-tier(web-app-db) is mostly a matter of costs.
> Choosing couchdb means keeping costs low by choosing extreme ease of
> development(in-browser development, same javascript language for frontend
> and backend) ease of maintenance and reduced set of skills(one server only
> to learn, configure and mantain with no licenses).
>
> Would I mind spending some more bucks on hardware (which keeps constantly
> improving and getting cheaper) to reach the same performance level of a
> more complicated and thus expensive architecture? Of course not.
>
> Thanks for your work,
> --Giovanni
>
> 2016-09-02 0:00 GMT+02:00 ermouth :
>
> > Tried out more or less pure couchapp approach in 2016 realities, I mean
> JS
> > rewrites and PouchDB.
> >
> > Written down a story about the project, from the couchapp side:
> > http://lesorub.pro/how-it-works
> >
> > It was interesting experience, couchapps still might be useful, in very
> > rare cases )
> >
> > ermouth
> >
>


Re: Couchapp experience in 2016

2016-09-05 Thread Giovanni Lenzi
Great job ermouth, you are always on the front line on pushing couchapp
borders!

JS rewrites seems to really enable them to any kind of use. Performance may
be a limit if you are really interested to squeeze each available cpu
cycle, ok but, from a business perspective, how does it cost to reach
and mantain this speed? May be an interesting question for your article too.

For me, choosing a 1-tier architecture(couchdb with js rewrites and default
vhost) over the usual 3-tier(web-app-db) is mostly a matter of costs.
Choosing couchdb means keeping costs low by choosing extreme ease of
development(in-browser development, same javascript language for frontend
and backend) ease of maintenance and reduced set of skills(one server only
to learn, configure and mantain with no licenses).

Would I mind spending some more bucks on hardware (which keeps constantly
improving and getting cheaper) to reach the same performance level of a
more complicated and thus expensive architecture? Of course not.

Thanks for your work,
--Giovanni

2016-09-02 0:00 GMT+02:00 ermouth :

> Tried out more or less pure couchapp approach in 2016 realities, I mean JS
> rewrites and PouchDB.
>
> Written down a story about the project, from the couchapp side:
> http://lesorub.pro/how-it-works
>
> It was interesting experience, couchapps still might be useful, in very
> rare cases )
>
> ermouth
>


Re: Couchapp experience in 2016

2016-09-02 Thread ermouth
> using more CouchDB design documents simultanously is not fast enogh?

It‘s not. There are 2 basic considerations: a) node is faster as a compiler
and generates code, that runs faster, b) we can avoid excessive
serialize/parse calls between OTP and SM, which are both CPU and IO hungry
for large branchy docs.

Although we add several more layers here, and they add latency, which
diminish our performance boost. So I‘m not sure if 5x rps and bandwidth per
core achievable, gonna play with it a little.

ermouth


Re: Couchapp experience in 2016

2016-09-02 Thread Harald Kisch
> So if we could have a performance booster, say 5x, I‘d use
> couchapps not only for small things or interims.

Do you mean your workaround on JavaScript single-threading like it is
usally the case in any other environment, even in angular2 or react, by
using more CouchDB design documents simultanously is not fast enogh?

On Sat, Sep 3, 2016 at 12:24 AM, ermouth  wrote:

> > from someone reaching the end of couchapp
> > possibilities by developing a software stack which does'nt need local
> > installation
>
> Thanks. Reaching the end means going back with new experience.
>
> Ddoc Lab is able to generate attaches with npm package tarballs, and npm
> allows direct install from CouchDB. I mean deploying from Couch to FS, not
> vice versa as we usually do. That is my "going back" from Couch to FS-based
> solutions: FS apps still follow data.
>
> Now I‘m thinking about composing kinda node.js module, able to augment
> query server in part of show, list, update and, possibly, reduce.
>
> There exist nice set of modules like pouchdb/pouchdb-list. I gonna try to
> combine couple of them, and, intercepting appropriate requests by node.js,
> exec lists and similar queries inside node.js. Just for an experiment, to
> see what it gives.
>
> Actually (couchapp + JSrewrite + PouchDB) architecture is pretty nice and
> even attractive in terms of stability and, well, purity – but lacks
> performance. So if we could have a performance booster, say 5x, I‘d use
> couchapps not only for small things or interims.
>
> ermouth
>



-- 
-- 

Dipl.-Inf. Harald R. Kisch

Falkenstraße 19C
81541 München
Germany

Mobil DE: +49 (0) 176 56 58 58 38

Skype: harald.kisch
Mail: haraldki...@gmail.com


Re: Couchapp experience in 2016

2016-09-02 Thread ermouth
> from someone reaching the end of couchapp
> possibilities by developing a software stack which does'nt need local
> installation

Thanks. Reaching the end means going back with new experience.

Ddoc Lab is able to generate attaches with npm package tarballs, and npm
allows direct install from CouchDB. I mean deploying from Couch to FS, not
vice versa as we usually do. That is my "going back" from Couch to FS-based
solutions: FS apps still follow data.

Now I‘m thinking about composing kinda node.js module, able to augment
query server in part of show, list, update and, possibly, reduce.

There exist nice set of modules like pouchdb/pouchdb-list. I gonna try to
combine couple of them, and, intercepting appropriate requests by node.js,
exec lists and similar queries inside node.js. Just for an experiment, to
see what it gives.

Actually (couchapp + JSrewrite + PouchDB) architecture is pretty nice and
even attractive in terms of stability and, well, purity – but lacks
performance. So if we could have a performance booster, say 5x, I‘d use
couchapps not only for small things or interims.

ermouth


Re: Couchapp experience in 2016

2016-09-02 Thread Harald Kisch
> couchapp is a web app hosted
> inside CouchDB and using CouchDB features to run

I like that definition coming from someone reaching the end of couchapp
possibilities by developing a software stack which does'nt need local
installation of any development tools ;)

On Fri, Sep 2, 2016 at 9:35 PM, ermouth  wrote:

> Hi, Robin!
>
> > I'm very interested in couchapps
> > although the definition isn't too
> > clear for me
>
> Nobody knows exact definition.
>
> The variety of solutions entitling itself ‘couchapp’ it quite wide. They
> use different client-side frameworks and architectures, since CouchDB does
> not dictate. However they all are served from CouchDB and often use CouchDB
> queries to fetch/store data.
>
> So if we take the term in fuzzy meaning, couchapp is a web app hosted
> inside CouchDB and using CouchDB features to run.
>
> ermouth
>



-- 
-- 

Dipl.-Inf. Harald R. Kisch

Falkenstraße 19C
81541 München
Germany

Mobil DE: +49 (0) 176 56 58 58 38

Skype: harald.kisch
Mail: haraldki...@gmail.com


Re: Couchapp experience in 2016

2016-09-02 Thread ermouth
Hi, Robin!

> I'm very interested in couchapps
> although the definition isn't too
> clear for me

Nobody knows exact definition.

The variety of solutions entitling itself ‘couchapp’ it quite wide. They
use different client-side frameworks and architectures, since CouchDB does
not dictate. However they all are served from CouchDB and often use CouchDB
queries to fetch/store data.

So if we take the term in fuzzy meaning, couchapp is a web app hosted
inside CouchDB and using CouchDB features to run.

ermouth


Re: Couchapp experience in 2016

2016-09-02 Thread Robin Millette
On Fri, Sep 2, 2016 at 1:35 PM, Harald Kisch  wrote:

> I appreciate your interest in couchapps.

Oh, I've even written a few,  even have my own short-lived tool to
handle design docs
https://github.com/millette/divanator

My question about terminology had more to do with this:
> 2. A library for single page application (SPA)
> Angular or React or whatever you want

Here's another "couchapp" I did 3 years ago, but it's straight html
(show/list functions) served from couchdb with almost no client-side
js.
http://www.francais101.com/

> 3. A REST API library for communication with Couchdb
> I would recommend using the jquery lib (
> http://bradley-holt.com/2011/07/couchdb-jquery-plugin-reference/)

That's what I meant by AJAX. Is it necessary to call something a couchapp?

> If you want to be supersexy with offline mobile responsitivity, you can
> also use pouchdb (https://pouchdb.com/)

My own website is served by couchdb too (sort of a wiki) and I can
edit anything offline (and attach images, whatever) thanks to PouchDB.
So here, I have one DB with 2 design docs (and serving 2 subdomains)
one for visitors, one for admin. The admin side use the app cache,
page.js, pouchdb and other niceties.

> In my opinion there is no more easy way to build fast, high available
> JavaScript applications for massive loads.

Eventually, I'm going to have to get to the bottom of this, but I
heard couchapp (but like I said, I'm not sure what that entails
_exactly_) might not have a future after CouchDB 2. Something to do
with show function performance.

Thanks for sharing your tips :-)

-- 
Robin
http://robin.millette.info/


Re: Couchapp experience in 2016

2016-09-02 Thread Harald Kisch
Hi Robin,

I appreciate your interest in couchapps.
You can use any HTML file to serve your app directly from couchdb.
Usually you need:

1. A design document
create it yourself (id:"_design/name") or use couchapp (
http://couchapp.readthedocs.io/en/latest/)

2. A library for single page application (SPA)
Angular or React or whatever you want

3. A REST API library for communication with Couchdb
I would recommend using the jquery lib (
http://bradley-holt.com/2011/07/couchdb-jquery-plugin-reference/)
It's some years old but still valid (
https://onabai.wordpress.com/tag/jquery-couch-js/)
If you want to be supersexy with offline mobile responsitivity, you can
also use pouchdb (https://pouchdb.com/)

With all this in place you are extremely flexible.
You can choose your editor, your operating system, your dev environment and
also your backend provider (http://www.couchappy.com or
http://www.appback.com)

You can simply concentrate on the frontend-development side.

Having all data in sync (build in continious replication) on many CouchDB
instances you can simply balance your load by putting a proxy in front of
your instance farm or if you need data sharding across CouchDB instances
automatically simply use CouchDB 2.0.

In my opinion there is no more easy way to build fast, high available
JavaScript applications for massive loads.

Have fun.

Harry

On Fri, Sep 2, 2016 at 4:46 PM, Robin Millette  wrote:

> Hello,
>
> I'm very interested in couchapps although the definition isn't too
> clear for me. I usually try to output html pages, with some
> client-side JS enhancements. Not sure if couchapp implies AJAX.
> Anyhow.
>
> On Fri, Sep 2, 2016 at 10:20 AM, Peter Figliozzi
>  wrote:
>
> > In summary, the Couchapp architecture makes
> > it easier to get started programming web applications, without having to
> > learn some middleman API.
>
> I often present CouchDB as a web server that happens to take care of
> the database as well :-)
>
> --
> Robin
>



-- 
-- 

Dipl.-Inf. Harald R. Kisch

Falkenstraße 19C
81541 München
Germany

Mobil DE: +49 (0) 176 56 58 58 38

Skype: harald.kisch
Mail: haraldki...@gmail.com


Re: Couchapp experience in 2016

2016-09-02 Thread Robin Millette
Hello,

I'm very interested in couchapps although the definition isn't too
clear for me. I usually try to output html pages, with some
client-side JS enhancements. Not sure if couchapp implies AJAX.
Anyhow.

On Fri, Sep 2, 2016 at 10:20 AM, Peter Figliozzi
 wrote:

> In summary, the Couchapp architecture makes
> it easier to get started programming web applications, without having to
> learn some middleman API.

I often present CouchDB as a web server that happens to take care of
the database as well :-)

-- 
Robin


Re: Couchapp experience in 2016

2016-09-02 Thread Peter Figliozzi
I am a data scientist.  When I needed to learn how to build a web
application, Couchapp was the first thing I learned.  I chose it because it
was the only thing I could really understand. Viewed as a system, it's a
lot simpler to have one thing storing your application code and data,
instead of two or more things which must communicate with each other.
After my first few apps, I learned to use Backbone, d3, etc. in my
Couchapps.  I find the results better than what I can get creating an
R-Shiny or Flask application. In summary, the Couchapp architecture makes
it easier to get started programming web applications, without having to
learn some middleman API.

On Fri, Sep 2, 2016 at 12:14 AM, Martin Broerse 
wrote:

> >
> > deep CouchDB understanding and experience
>
>
> You need tooling but without deep understanding you can deploy an Ember
> application as couchapp. See:
> https://www.npmjs.com/package/ember-cli-deploy-couchdb
> Working example: https://github.com/broerse/ember-cli-blog
>
> - Martin
>
>
> On Fri, Sep 2, 2016 at 12:00 AM, ermouth  wrote:
>
> > Tried out more or less pure couchapp approach in 2016 realities, I mean
> JS
> > rewrites and PouchDB.
> >
> > Written down a story about the project, from the couchapp side:
> > http://lesorub.pro/how-it-works
> >
> > It was interesting experience, couchapps still might be useful, in very
> > rare cases )
> >
> > ermouth
> >
>


Re: Couchapp experience in 2016

2016-09-01 Thread Martin Broerse
>
> deep CouchDB understanding and experience


You need tooling but without deep understanding you can deploy an Ember
application as couchapp. See:
https://www.npmjs.com/package/ember-cli-deploy-couchdb
Working example: https://github.com/broerse/ember-cli-blog

- Martin


On Fri, Sep 2, 2016 at 12:00 AM, ermouth  wrote:

> Tried out more or less pure couchapp approach in 2016 realities, I mean JS
> rewrites and PouchDB.
>
> Written down a story about the project, from the couchapp side:
> http://lesorub.pro/how-it-works
>
> It was interesting experience, couchapps still might be useful, in very
> rare cases )
>
> ermouth
>


Re: Couchapp experience in 2016

2016-09-01 Thread Johs Ensby
Awsome!
if couchapps was ever worth pursuing, you made the largest contribution to 
proving so.
johs

 
> On 2. sep. 2016, at 00.00, ermouth  wrote:
> 
> Tried out more or less pure couchapp approach in 2016 realities, I mean JS
> rewrites and PouchDB.
> 
> Written down a story about the project, from the couchapp side:
> http://lesorub.pro/how-it-works
> 
> It was interesting experience, couchapps still might be useful, in very
> rare cases )
> 
> ermouth



Couchapp experience in 2016

2016-09-01 Thread ermouth
Tried out more or less pure couchapp approach in 2016 realities, I mean JS
rewrites and PouchDB.

Written down a story about the project, from the couchapp side:
http://lesorub.pro/how-it-works

It was interesting experience, couchapps still might be useful, in very
rare cases )

ermouth