Last modified 15 years ago
Last modified on 10/23/09 07:24:12
Table of Contents
Programming Languages
- Java SE - Sophie 2.0 is written in Java 6 SE. Java 5 SE compatibility is also supported in order to allow Sophie to run on certain operating systems, such as older Mac OS X releases.
- C++ is used for some native extensions, like video transcoding and browser frames.
- Python is used for building support tools.
Fundamentals Libraries
- Apache Felix - An OSGI implementation used for Sophie's plug-in architecture.
- ProLib - An advanced data binding Java library created by the Sophie 2.0 team. Allows data binding to simple and complex properties (such as Arrays and Lists).
- Resources - A resource management library, created by the Sophie 2.0 team, allowing real time collaboration features.
- HotText - Rich Text Layout engine (based in ProLib), created by the Sophie 2.0 team.
- Visuals - The UI structuring library is based on ProLib, created by the Sophie 2.0 team.
- Scenes - The scene graph model and rendering library is based on Java2D, JOGL, and ProLib, created by the Sophie 2.0 team.
Native Libraries
- ffmpeg - For playing and recording media
- QtWebKit - For embedded browsers
- SWFDec, Cairo, GTK - For embedded SWFs
- portaudio - For audio capture and playback
Server Libraries
- Jetty - Embedded Servlet Container for Sophie Server
- JavaDB - Embedded database engine for Sophie Server
- servlet-api
- JSP
UI Libraries
- Swing
- MyDoggy - For docking and layout management
- swingx
- javahelp
- Apache batik
Additional Libraries
- JOGL - For faster graphics
- pdf-renderer (net.dev.java)
- Rhino JavaScript Engine - http://www.mozilla.org/rhino/
- iText - http://www.lowagie.com/iText/
- JHLabs Image Processing Filters - http://www.jhlabs.com/ip/index.html
Development Tools
- Eclipse
- Subversion - Subversion is Sophie 2.0's versioning system.
- Apache Maven 2 - Maven is used to manage building, deployment, dependency management, and release packaging of Sophie 2.0.
- Hudson - Sophie 2.0's is Sophie's continuous integration server.
- Trac - Trac is the team's web-based software project management and bug/issue tracking system.
- JUnit, Selenium, JMock - For unit testing and functional testing frameworks
Licensing
- Educational Community License, Version 2.0