Moxie.Build Keeps it Simple
The full stack in one app, delivered by one company.
Coding with the MOX server side scripting language is concise, well structured, and keeps your focus on the data. Use Moxie.Build in your company to pull together resources, centralize data, customize business workflows, and act as a highly accessible web portal for staff and customers alike.
Just a simple form with one Ajax calculated field.
Although the MOX syntax pays heritage to BASIC, it includes modern features such as Try/Catch and Multiple Return Values from Functions. MOX encourages easy to understand step-by-step processing, and comes without language features that are typically abused and make code harder to maintain. Security is built right in; all user data is sanitized before the developer ever sees it.
Rem 'Flow Control: Pulls data from incoming web browser request and decides where to go [Pull] Req.IsGet ajCalc If ajCalc : AjaxReply : Form.Ajax.Calc ElseIf Req.IsGet : Form.Build Else : Form.Proc End If EndRem Method Form.Build() Rem 'Fetch or create our Person fields depending on if we have a valid user logged in If ($SessionIsBad) NewFields "MemTab.Person.", "FirstName LastName" Else Try LoadRecord "MemTab.Person", ($SessionUser) KeepFields "MemTab.Person.", "FirstName LastName" Catch HtmlErr "Oh my! it looks like we lost you somehow." Error "Could not load logged in user" 'Sends admin notifications and exits proc End Try End If EndRem Rem 'Create some extra fields for the demo and customize the form NewFields "Demo.", "Apples Oranges Fruit" GetFieldDefs 'Fetch db defenitions for db fields, creates blank defs for non-db fields WorkWith "Demo.Apples#" Set "Label", "`Apples?" Set "Attr", ("`[!] 0, 1, 2, 3, 4, 5, 6, 7, 8, 9" & $I & "[Ajax] FruitCount, ?ajCalc=y") WorkWith "Demo.Oranges#" Set "Label", "`Oranges?" Set "Attr", ("`[!] 0, 1, 2, 3, 4, 5, 6, 7, 8, 9" & $I & "[Ajax] FruitCount, ?ajCalc=y") WorkWith "Demo.Fruit#" Set "Label", "`Total Fruit" Set "Attr", "`[R]" End WorkWith 'Set up our Ajax destination inside of Demo.Fruit Set "Demo.Fruit", "0" EndRem 'Put it on the page, in our FruitDemo Template Insertion Point HtmlForm "FruitDemo", " Do Something", "" End Method Method Form.Ajax.Calc() [Pull] Demo.Apples Demo.Oranges Html (Demo.Apples + Demo.Oranges) End Method Function Form.Fruit.Total(pFirstName, pLastName, pApples, pOranges) If pApples == 0 : And pOranges == 0 Return "&warning", "Oops, it looks like you didn't select any fruit to share with us!" Else Return "&success", ("Thank you " & pFirstName && pLastName & "," & _ " for sending us " & pApples & " Apples " & _ " and " & pOranges & " Oranges.") End If End Function Method Form.Proc() Rem 'Fetch our incomming form data [Pull] "Request", "MemTab.Person.", "FirstName LastName" [Pull] "Request", "Demo.", "Apples Oranges" EndRem 'Call a processing Function that has four input parameters and two return values [New] AlertClass, UserMessage = Form.Fruit.Total FirstName, LastName, Apples, Oranges HtmlAlert "FruitDemo", AlertClass, UserMessage 'Display Alert Form.Build 'Display Form again End Method
Moxie.Build v4 includes a Web Server, an In-Memory Managed-Relationships Database, a clear-cut Content Management System ready to build on top of, and an Admin Interface for developers and back office staff. The MOX Server Side Scripting Language 'does so much for you' making complex tasks easy, while always providing a way to customize it. A robust security framework and baked-in E-Commerce make it easier to profit from your efforts. Moxie.Build is high performance, stable, easy to learn, easy to maintain, and has professional support and training available.
Moxie.Build is all about server side scripting, and making front end development as automated as possible. These sources are built right in and managed for you. Each version of Moxie.Build comes with compatible client side sources that are integrated and tested.
"I love how fast it is!" - Daniel
"Favorite thing: Speed" - Jordan
"Far more effective and many times simpler than Oracle" - Kerry
"All the good stuff from a CMS, but you still have very strong low-level control over dynamic content" - Alex
"It is certainly simpler to get data out of it and onto the page than other systems" - Leonard
"Its error reporting is awesome after dealing with PHP" - Jordan
"Moxie.Build elegantly sums up the world of CMS, eCom, DB, and programming" - Kerry
"Now that I've seen it in action...wow." - Sasa