SlideShare a Scribd company logo
www.intothebox.org
Getting Started with BoxLang
Raymond Camden
• BoxLang Developer Evangelist
• Enterprise Cat Demo Builder
• Blogging at raymondcamden.com
Developer Evangelist
@raymondcamden raymondcamden@gmail.com @cfjedimaster
Geting-started with BoxLang Led By Raymon Camden.pdf
• What?
• Why?
• How?
Game Plan
• Lightweight (6MB!) dynamic, loosely typed language
• Built on the JVM
• Runs everywhere
• Extensible
• Can replace ColdFusion/Lucee installs
• Open Source
• Free
What is BoxLang?
• Subscriptions for additional support
• Premium modules
• OS BoxLang+ BoxLang++ Custom
• Plans - https://www.boxlang.io/plans
What?
• BoxLang Admin
• Electron app running ColdBox
• More modules
What (Soonish)?
• CLIs and tooling
• Serverless APIs
• Web Applications (with powerful framework)
Why?
• Install the JDK (21+ minimum)
• Install the binaries (Doc)
• Install the IDE (Doc)
• CLI tools: boxlang, install-bx-module, boxlang-
miniserver, install-boxlang
How?
• Carefully read the docs
• Ensure you understand everything
• Then carefully write your first file
• or...
How?
• Java interop (very, very deep)
• Classes (full OO, interfaces, abstract, static, etc)
• Closures + Pure functions (lambdas)
• Immutable classes
• Interceptors for the language
• Case insensitive
• Human operators (AND, OR, etc)
Language Features
• Member functions
• Mostly optional semicolons (but use them cuz I said so)
• Multiline strings + Expression Interpolation
• Tag islands
• Modular (PDF, Mail, Python, and more...)
• Arrays that start at freaking 1 because it makes sense!!
Language Features (More)
• Array, Struct, String, Numeric, DateTime
• Query, File, XML
• List
• Full List (Docs)
Language Features (Types)
• Some functionality exposed as components
• For example: bx:http .... { subtags }
• For example: bx:mail somearg=1 { content }
Language Features (More)
• variables (all)
• server (all)
• application, session, form, url (web)
• request (web)
• this (components)
• local, arguments (functions)
• More: Docs
Language Features (Scopes)
• Additional functionality
• Installed via CLI
• install-bx-module modulename
• Database, PDF, Markdown, Mail, and more...
• Modules
Language Features (Modules)
• bxs (scripting)
• bxm (tag)
• bx (classes)
BoxLang Files
Ray, show the tag/class versions of hello world...
Demo
• For interaction, use: cliGetArgs(), cliRead(), cliExit()
• Also server.cli.parsed
• Positionals and Options
• For classes, main is automatically run
• https://boxlang.ortusbooks.com/getting-
started/running-boxlang/cli-scripting
Building for the CLI
• --option (option is true)
• --option=X (option is X)
• -o=X (shorter)
• --!option (option is false)
• --no-option (option is false)
CLI Args - Options
Ray, show the cli* files, dadjoke
Demo
• Currently only AWS Lambda (but more coming soon)
• BoxLang template (skeleton code, unit tests, GitHub
actions)
• Template adds automatic event management and
response serialization
• Can upload a zip or use GitHub Actions
Building for Serverless
• Make a new repo based on template and edit settings
• Create your Lambda on the AWS side (settings are
important!)
• Work on code
• Use unit test to confirm
• Git commit and wait
Building for Serverless
Building for Serverless
Building for Serverless
Building for Serverless
Ray, show the local Lambda then the Postman
Demo
• Read the docs: https://boxlang.ortusbooks.com/getting-
started/running-boxlang/aws-lambda
• Other serverless platforms coming soon
Building for Serverless
• Baked In FTW!
• Application and Session Management
• Application life-cycle event handlers
• File-based routing
• URL, Form handling (including file uploads)
• Classes have additional support for remote operations
Web Apps
• Add an Application.bx to the ‘root’ of your app
• BoxLang searches for this file when a request is made
• Application.bx is run on every request
Web Apps - Defining
• Application Start and End
• Session Start and End
• Request Start and End
• Class Request
• Error, Abort, Missing Template
Web Apps - Events
• CommandBox
• MiniServer
• Docker
Web Apps - Running
Ray, show web1
Demo
• Available via modules
• Derby, HyperSQL, MySQL, MariaDB, SQL Server, Oracle,
PostgreSQL
• install-bx-module bx-mysql
Databases
• Define connection parameters for your database
• Defined inline
• Defined in Application.bx
• Defined in server configuration
Datasources
• queryExecute
• bx:query
• transaction (multiple)
• Loop constructs support query objects
• Stored procedure support
• bx:dbinfo
• queryNew
Code
Ray, show db1
Demo
• Multi HTTP Tool (shows threading)
• PDF Generator (shows modules)
• Markdown (shows Java interop)
• URL to Image (shows, um, images)
Examples
Any questions?
Thank You!
The Future of Modern Development Starts Here, with you!

More Related Content

PDF
Getting Started with BoxLang - CFCamp 2025.pdf
PDF
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
PDF
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
PDF
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
PPTX
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
PDF
Into The Box Conference Keynote Day 1 (ITB2025)
KEY
Why ruby and rails
PPTX
[DanNotes] XPages - Beyound the Basics
Getting Started with BoxLang - CFCamp 2025.pdf
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Into The Box Conference Keynote Day 1 (ITB2025)
Why ruby and rails
[DanNotes] XPages - Beyound the Basics

Similar to Geting-started with BoxLang Led By Raymon Camden.pdf (20)

PDF
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
PDF
Simplify integrations-final-pdf
PDF
UKLUG 2012 - XPages, Beyond the basics
PPTX
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
PDF
JavaScript Library Overview (Ajax Exp West 2007)
PPT
Domino testing presentation
PDF
CrossWorlds: Unleash the Power of Domino for Connections Development
PDF
Social Connections 2015 CrossWorlds and Domino
PPTX
Web app job and functions - TUGAIT 2017
PDF
ITB2017 - Keynote
PDF
Masterin Large Scale Java Script Applications
PPTX
Web Ninja
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
PDF
Service-Oriented Design and Implement with Rails3
PDF
Building bridges - Plone Conference 2015 Bucharest
PPTX
Implementing FaaS on Kubernetes using Kubeless
PDF
JavaScript Libraries (Ajax Exp 2006)
PDF
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
PPTX
Tuenti Release Workflow v1.1
PPTX
Windows Server and Docker - The Internals Behind Bringing Docker and Containe...
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Simplify integrations-final-pdf
UKLUG 2012 - XPages, Beyond the basics
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
JavaScript Library Overview (Ajax Exp West 2007)
Domino testing presentation
CrossWorlds: Unleash the Power of Domino for Connections Development
Social Connections 2015 CrossWorlds and Domino
Web app job and functions - TUGAIT 2017
ITB2017 - Keynote
Masterin Large Scale Java Script Applications
Web Ninja
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Service-Oriented Design and Implement with Rails3
Building bridges - Plone Conference 2015 Bucharest
Implementing FaaS on Kubernetes using Kubeless
JavaScript Libraries (Ajax Exp 2006)
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Tuenti Release Workflow v1.1
Windows Server and Docker - The Internals Behind Bringing Docker and Containe...
Ad

More from Ortus Solutions, Corp (20)

PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
PDF
June Webinar: BoxLang-Dynamic-AWS-Lambda
PDF
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
PDF
What's-New-with-BoxLang-Brad Wood.pptx.pdf
PDF
What's New with BoxLang Led by Brad Wood.pdf
PDF
Vector Databases and the BoxLangCFML Developer.pdf
PDF
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
PDF
Use JSON to Slash Your Database Performance.pdf
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
PDF
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
PDF
Supercharging CommandBox with Let's Encrypt.pdf
PDF
Spice up your site with cool animations using GSAP..pdf
PDF
Passkeys and cbSecurity Led by Eric Peterson.pdf
PDF
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
PDF
Integrating the OpenAI API in Your Coldfusion Apps.pdf
PDF
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
PDF
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
PDF
Customize your Runtime Creating your first BoxLang Module.pdf
PDF
CommandBox WebSockets - and SocketBox.pdf
PDF
CMS Switch-a-Rooney! Converting Your MuraMasa Sites to ContentBox.pdf
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
June Webinar: BoxLang-Dynamic-AWS-Lambda
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
What's-New-with-BoxLang-Brad Wood.pptx.pdf
What's New with BoxLang Led by Brad Wood.pdf
Vector Databases and the BoxLangCFML Developer.pdf
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
Use JSON to Slash Your Database Performance.pdf
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
Supercharging CommandBox with Let's Encrypt.pdf
Spice up your site with cool animations using GSAP..pdf
Passkeys and cbSecurity Led by Eric Peterson.pdf
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
Integrating the OpenAI API in Your Coldfusion Apps.pdf
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
Customize your Runtime Creating your first BoxLang Module.pdf
CommandBox WebSockets - and SocketBox.pdf
CMS Switch-a-Rooney! Converting Your MuraMasa Sites to ContentBox.pdf
Ad

Recently uploaded (20)

PDF
Download FL Studio Crack Latest version 2025 ?
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Nekopoi APK 2025 free lastest update
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Patient Appointment Booking in Odoo with online payment
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PDF
Complete Guide to Website Development in Malaysia for SMEs
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
AutoCAD Professional Crack 2025 With License Key
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
Download FL Studio Crack Latest version 2025 ?
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Nekopoi APK 2025 free lastest update
iTop VPN Free 5.6.0.5262 Crack latest version 2025
CHAPTER 2 - PM Management and IT Context
Navsoft: AI-Powered Business Solutions & Custom Software Development
Patient Appointment Booking in Odoo with online payment
Monitoring Stack: Grafana, Loki & Promtail
Design an Analysis of Algorithms II-SECS-1021-03
Weekly report ppt - harsh dattuprasad patel.pptx
Complete Guide to Website Development in Malaysia for SMEs
Advanced SystemCare Ultimate Crack + Portable (2025)
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Salesforce Agentforce AI Implementation.pdf
AutoCAD Professional Crack 2025 With License Key
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Designing Intelligence for the Shop Floor.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
17 Powerful Integrations Your Next-Gen MLM Software Needs

Geting-started with BoxLang Led By Raymon Camden.pdf

  • 2. Raymond Camden • BoxLang Developer Evangelist • Enterprise Cat Demo Builder • Blogging at raymondcamden.com Developer Evangelist @raymondcamden raymondcamden@gmail.com @cfjedimaster
  • 4. • What? • Why? • How? Game Plan
  • 5. • Lightweight (6MB!) dynamic, loosely typed language • Built on the JVM • Runs everywhere • Extensible • Can replace ColdFusion/Lucee installs • Open Source • Free What is BoxLang?
  • 6. • Subscriptions for additional support • Premium modules • OS BoxLang+ BoxLang++ Custom • Plans - https://www.boxlang.io/plans What?
  • 7. • BoxLang Admin • Electron app running ColdBox • More modules What (Soonish)?
  • 8. • CLIs and tooling • Serverless APIs • Web Applications (with powerful framework) Why?
  • 9. • Install the JDK (21+ minimum) • Install the binaries (Doc) • Install the IDE (Doc) • CLI tools: boxlang, install-bx-module, boxlang- miniserver, install-boxlang How?
  • 10. • Carefully read the docs • Ensure you understand everything • Then carefully write your first file • or... How?
  • 11. • Java interop (very, very deep) • Classes (full OO, interfaces, abstract, static, etc) • Closures + Pure functions (lambdas) • Immutable classes • Interceptors for the language • Case insensitive • Human operators (AND, OR, etc) Language Features
  • 12. • Member functions • Mostly optional semicolons (but use them cuz I said so) • Multiline strings + Expression Interpolation • Tag islands • Modular (PDF, Mail, Python, and more...) • Arrays that start at freaking 1 because it makes sense!! Language Features (More)
  • 13. • Array, Struct, String, Numeric, DateTime • Query, File, XML • List • Full List (Docs) Language Features (Types)
  • 14. • Some functionality exposed as components • For example: bx:http .... { subtags } • For example: bx:mail somearg=1 { content } Language Features (More)
  • 15. • variables (all) • server (all) • application, session, form, url (web) • request (web) • this (components) • local, arguments (functions) • More: Docs Language Features (Scopes)
  • 16. • Additional functionality • Installed via CLI • install-bx-module modulename • Database, PDF, Markdown, Mail, and more... • Modules Language Features (Modules)
  • 17. • bxs (scripting) • bxm (tag) • bx (classes) BoxLang Files
  • 18. Ray, show the tag/class versions of hello world... Demo
  • 19. • For interaction, use: cliGetArgs(), cliRead(), cliExit() • Also server.cli.parsed • Positionals and Options • For classes, main is automatically run • https://boxlang.ortusbooks.com/getting- started/running-boxlang/cli-scripting Building for the CLI
  • 20. • --option (option is true) • --option=X (option is X) • -o=X (shorter) • --!option (option is false) • --no-option (option is false) CLI Args - Options
  • 21. Ray, show the cli* files, dadjoke Demo
  • 22. • Currently only AWS Lambda (but more coming soon) • BoxLang template (skeleton code, unit tests, GitHub actions) • Template adds automatic event management and response serialization • Can upload a zip or use GitHub Actions Building for Serverless
  • 23. • Make a new repo based on template and edit settings • Create your Lambda on the AWS side (settings are important!) • Work on code • Use unit test to confirm • Git commit and wait Building for Serverless
  • 27. Ray, show the local Lambda then the Postman Demo
  • 28. • Read the docs: https://boxlang.ortusbooks.com/getting- started/running-boxlang/aws-lambda • Other serverless platforms coming soon Building for Serverless
  • 29. • Baked In FTW! • Application and Session Management • Application life-cycle event handlers • File-based routing • URL, Form handling (including file uploads) • Classes have additional support for remote operations Web Apps
  • 30. • Add an Application.bx to the ‘root’ of your app • BoxLang searches for this file when a request is made • Application.bx is run on every request Web Apps - Defining
  • 31. • Application Start and End • Session Start and End • Request Start and End • Class Request • Error, Abort, Missing Template Web Apps - Events
  • 32. • CommandBox • MiniServer • Docker Web Apps - Running
  • 34. • Available via modules • Derby, HyperSQL, MySQL, MariaDB, SQL Server, Oracle, PostgreSQL • install-bx-module bx-mysql Databases
  • 35. • Define connection parameters for your database • Defined inline • Defined in Application.bx • Defined in server configuration Datasources
  • 36. • queryExecute • bx:query • transaction (multiple) • Loop constructs support query objects • Stored procedure support • bx:dbinfo • queryNew Code
  • 38. • Multi HTTP Tool (shows threading) • PDF Generator (shows modules) • Markdown (shows Java interop) • URL to Image (shows, um, images) Examples
  • 40. Thank You! The Future of Modern Development Starts Here, with you!