3 ms·
I have a problem with akshell, just in 5 minutes of looking at it I have 1001 concern. I just want to list a few of them: 1. I am not sure the world need such
by Kof 15y ago
I have a problem with akshell, just in 5 minutes of looking at it I have 1001 concern. I just want to list a few of them:
1. I am not sure the world need such a system which has javascript environment, database and online IDE in one place. Its kind of trying to do a lot of things but doesn't get anything of them really right. There are much better solutions for each out of there, f.e. managed node hosting from nodejitsu or online IDE from cloud9.
2. it seems to be an own C++ environment written around of V8. It is written by a very small group of people, or only one? It can not be such battle tested and good like nodejs is.
3. APIs are not well written, this guys have to learn from nodejs.
4. Coding conventions used in main js lib I can see directly in the shell are ugly ... well everybody can see its done by C coder, but its not the point.
5. Code quality and structure of this ak lib are bad ... thousands of classes in one file.
6. Global functions, extended native prototypes, not fully commonjs spec conform modules implementation. Well fuck, why? Didn't we learn in last 10 years that a spec is important, extending native prototypes is bad for the most cases?
6. Using a relational database is bad enough, but there is no way to use any other database? Come on!, nosql is here!!! Why not to use mongodb, couchdb etc. or at least to provide a choice.
7. Test coverage of the default lib must be a joke. Such important stuff should be completely test driven developed.
8. Once again, the API is really bad !!! I just don't know where to start from … I can't do this here.
I hope I didn't hurt somebodys feelings too much.
- olegp 15y agoThank you for your feedback, it's really useful. I'll answer some of these, maybe Anton will pipe in as well. 1. There are benefits to having the platform and IDE tightly integrated such as it lowers the barrier to entry, allows for faster roll out of new features that require an interface between the two etc. Probably the biggest one is that it allows one to take social coding to the next level by showing not only how many followers a given package has, but also showing whether it passed unit tests, how many productions apps rely on it etc. 2. This is answered in a separate thread below. 5. Agree that the ak lib needs to split up into more modules and packages. 6. You can use any other database as a service offering you want (e.g. MongoHQ, IrisCouch etc.). There's a TCP socket class and a CommonJS compatible HttpClient module that you can use to talk to them: https://github.com/olegp/ak-httpclient https://github.com/olegp/ak-httpclient