ServerJS/Filesystem API: Difference between revisions
< ServerJS
Jump to navigation
Jump to search
(→Prior Art: Adding link and providing some formatting to existing ones) |
|||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== Requirements/Proposals == | |||
* [[ServerJS/Filesystem_API/A|Filesystem API Proposal A]] | |||
* [[ServerJS/Filesystem_API/Hierarchy|File API Class hierarchy proposal]] | |||
* [[ServerJS/Filesystem_API/Names|File API name preferences questionnaire]] | |||
* Summary/Comparison of current File APIs used by JS engines: [http://spreadsheets.google.com/pub?key=p9uiX8MUHeTiP0kPT591RUw ServerJS File Object Survey] | |||
* [[/Show of hands|Show of hands]] | |||
== Prior Art == | == Prior Art == | ||
Line 15: | Line 23: | ||
* Opera Software's [http://dev.opera.com/articles/view/file-i-o-api-for-widgets/ File I/O API for widgets], which will probably be standardized by the [http://www.w3.org/2006/webapi/ W3C Web API Working Group]. | * Opera Software's [http://dev.opera.com/articles/view/file-i-o-api-for-widgets/ File I/O API for widgets], which will probably be standardized by the [http://www.w3.org/2006/webapi/ W3C Web API Working Group]. | ||
== | === Inspiration === | ||
* | * (Python) PEP on new File IO http://www.python.org/dev/peps/pep-3116/ | ||
* Java File API http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html | |||
* Java Output API http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileOutputStream.html | |||
* Java Input API http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileInputStream.html | |||
* E Secure File API http://www.erights.org/javadoc/java/io/File.html | |||
* Joe-E Secure File System API http://www.cs.berkeley.edu/~daw/joe-e/api/org/joe_e/file/Filesystem.html | |||
* Python Path API http://docs.python.org/library/os.path.html | |||
* Ruby File API http://www.ruby-doc.org/core/classes/File.html | |||
* Ruby IO API http://www.ruby-doc.org/core/classes/IO.html | |||
* Perl Path::Class http://search.cpan.org/perldoc?Path::Class | |||
* PHP Filesystem http://php.net/manual/book.filesystem.php |
Latest revision as of 23:25, 28 August 2009
Requirements/Proposals
- Filesystem API Proposal A
- File API Class hierarchy proposal
- File API name preferences questionnaire
- Summary/Comparison of current File APIs used by JS engines: ServerJS File Object Survey
- Show of hands
Prior Art
- Microsoft Scripting.FileSystemObject. Used in classic ASP, WSH, HTAs.
- JavaScript File object proposal (~1998)
- Spidermonkey File object
- Synchronet provides a File Class that was originally inspired by SpiderMonkey's jsfile.c, but has been widely used and enhanced over the years.
- Ejscript's File class is still evolving, but is fairly comprehensive. It supports stackable streams such as BinaryStream, StringStream. It can also do I/O to and from a ByteArray class.
- JSExt.File
- jslibs jsio module
- wxJavascript IO module
- v8cgi has a File and Directory interfaces
- helma has two File apis. One deprecated and one current
- adobe's extendscript has a File constructor.Documentation is difficult to find online.
- generic collection/document resource (java) api (work in process)
- Opera Software's File I/O API for widgets, which will probably be standardized by the W3C Web API Working Group.
Inspiration
- (Python) PEP on new File IO http://www.python.org/dev/peps/pep-3116/
- Java File API http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html
- Java Output API http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileOutputStream.html
- Java Input API http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileInputStream.html
- E Secure File API http://www.erights.org/javadoc/java/io/File.html
- Joe-E Secure File System API http://www.cs.berkeley.edu/~daw/joe-e/api/org/joe_e/file/Filesystem.html
- Python Path API http://docs.python.org/library/os.path.html
- Ruby File API http://www.ruby-doc.org/core/classes/File.html
- Ruby IO API http://www.ruby-doc.org/core/classes/IO.html
- Perl Path::Class http://search.cpan.org/perldoc?Path::Class
- PHP Filesystem http://php.net/manual/book.filesystem.php