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.

Simple Demo

Just a simple form with one Ajax calculated field.

0

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

Everything you Need

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.

 

 


 

 

 

Your Client Side Sources are Waiting for You

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.

  • Bootstrap v3 & v5
  • Bootstrap-Datepicker
  • DataTables.net
  • HandsonTable.com
  • jQuery with multi-version support
  • JS-Cookie
  • Lit2
  • TinyMCE
  • VanillaJS-DatePicker

 


 

Comments on Moxie.Build

"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

 

 


 

Admin Interface Screen Snips