Easily Code Webpages (EC:Pages) is a web-development language that is written and feels very similar to HTML. However, it has incredible power and functionality much like PHP. EC:Pages supports variables, functions, data structures, classes (types) and objects, class variables and methods, and even some system-level functions for file management, initializing other programs or CLI commands, etc... It meshes seamlessly with HTML, CSS, JS, and interfaces well with Web APIs. Additionally, as a web-centric coding language, EC:Pages works with SQL databases including MySQL, T-SQL (SQL Server), and SQLite (in the future).
This project began in the mid 2000s sometime after Microsoft's .NET framework was released. .NET promised to be many things that it simply failed to live up to, in the eyes of EC:Pages creator, Darin Andersen. So, he set out to make this simple but powerful web-centric coding language.
He began writing the project as a closed-source solution intended to power Darin's family ecommerce and brick-and-mortar business(es). Eventually, Asira got her hands on the project while working for Darin, fell in love with the coding language, and wanted to both make it available for others to use and to turn it into an open-source project.
-
EC:Pages was developed in Delphi Pascal (based on Object Pascal). To make the project open source, it'll need to be refactored to Free Pascal (also based on Object Pascal) or completely rewritten into a more modern language.
-
It currently runs as a Windows .dll through Internet Information Services (IIS). The plan is to eventually move EC:Pages to a stand-alone, multi-OS background service that does not require IIS or Apache to run (currently not compatible with Apache).
-
EC:Pages currently has its own IDE. The primary advantages of the IDE are integrated debugging (see the callstack and @break command) and running EC:Pages scripts with or without a web request. However, the IDE also comes with a few disadvantages such as lack of modernality, inability to perform debugging within a developer's preferred application, and even some issues with file management. Asira's hope is to find an alternative to the IDE, such as integrating the debugger into a VSCode extension and running scripts natively via a CLI prompt such as
ecpages/dir/to/ascript.ecs.
/Units - contains the various units and components utilized in the construction of EC:Pages /ECPagesISAPI - the main "EC:Pages" project that compiles to an ISAPI dll /ECPageEditor - an IDE for EC:Pages that compiles to an exe
At this time, UniDAC is used as a database connection provider. Its license does not allow for redistribution. As such, it has been omitted from ./Units/UniDac ... the goal is to eventually use open-sourced code throughout the project. As UniDAC is not part of the repository, the source code in this repo currently does not compile.
Currently, only Darin and Asira are working on the EC:Pages project, but we would love to expand the project and get EC:Pages out there.