SlideShare a Scribd company logo
Getting Started
www.boxlang.io
LUIS F. MAJANO
Your Host
• CEO Ortus Solutions
• Computer Engineer
• Creator of MANY things box!
• Documentation Weirdo!
Agenda
• What
• Features
• How
BoxLang is a modular dynamic language for the JVM, aiming
to make your development more productive, expressive,
functional, and available everywhere.
DYNAMIC : MODULAR : PRODUCTIVE
What is Boxlang?
• New language and runtime for the JVM
• Lightweight (7MB!) dynamic, loosely typed language
• Multi-Runtime
• Multi-Parser
• Modular + Extensible
• Can replace ColdFusion/Lucee installs
• Open Source + FREE 🎉
BoxLang +/++
• BoxLang +/++ Subscriptions
• Premium Modules + Features
• Support + SLAs
• CommandBox PRO
• Cache Connectors
• WebServer Connectors
• Server Sync
• Much more.
•https://www.boxlang.io/plans
BoxLang is a modular dynamic language for the JVM that
aims to make development more productive, expressive,
functional, and available everywhere.
Multi-Parsers : BoxLang + CFML + ???
• Our way to split with the old and bring in the new
• Transpile CFML into BoxLang
• JIT
• One-Time
• BoxLang is a NEW clean slate
• Our way to provide static analysis tooling
• Tons of features now in our IDE
• Two Transpilers In Planning: COBOL, Groovy
.cfc, .cfm
.bx, bxs, bxm
CFML Drop-In Replacement
• For Drop-In Replacement of CFML
• bx-compat-cfml
• Tools
• boxlang featureAudit <options>
• boxlang cftranspile <options>
.cfc, .cfm
.bx, bxs, bxm
File Types
.cfc
.cfs
.cfm
CFML Types
Lucee Only
Coming from CFML
https://boxlang.ortusbooks.com/getting-started/overview/syntax-style-guide/cfml
Key Features
• 100% Java interop
• Auto Casting, type promotions, type contagion
• Extend Java, Implement Java, Import Java
• Classes (full OO, interfaces, abstract, static, etc)
• Closures and Pure Functions
• Unmodi
fi
able Types (Query, Array, Struct)
• Event-Driven Language
• Caching Engine + API
• Task Scheduling
Key Features
• Member functions
• Tag Islands
• Extend via Modules
• Meta programming
• Array/Struct Change Listeners
• All File operations use NIO
• Async Framework
• Much More…
How
• Install the JDK (21+ minimum)
• Install the binaries
• Install the IDE
Runtime Installers
• Each runtime can be di
ff
erent
• Installation
• Con
fi
guration
• Modules
• Please know this before hand
• Each runtime doc speci
fi
es it
Getting Started with BoxLang - CFCamp 2025.pdf
BoxLang OS
• OS Binary
• Scripting
• Scheduling
• CLI Applications
• Installers
• Quick Installer
• Windows Installer
• OS Binaries
• boxlang
• install-bx-module
• boxlang-miniserver
• install-boxlang
https://boxlang.ortusbooks.com/getting-started/installation
Binaries
https://boxlang.ortusbooks.com/getting-started/installation
REPL
Code Execution
Transpiler
Compiler
Feature Audit
Scheduler
boxlang
Installer
Updater
Install-boxlang
List
Install
Install-bx-module
Create Miniservers
boxlang-miniserver
BoxLang Home
• User Home Folder: ~/.boxlang
• Compiled Classes
• Con
fi
guration Files
• Lib (Java Integration)
• Logs
• Modules
• Maven pom.xml
• Etc
BoxLang Modules
• Extra functionality in
• OS
• install-bx-module {moduleName}
• box install {moduleName}
• JDBC Drivers, mail, orm, ai, pdf,
markdown, etc
Demo
BoxLang CLI Apps
CLI Apps
• Execute
• *.bxs
• *.bxm
• *.bx -> main( args = [] )
• BIFS
• CLIGetArgs()
• CLIClear()
• CLIExit()
• CLIRead()
https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
CLI Apps
• server.cli
• Execution Path
• CLI Arguments
• Positional
• Options
• Working directory
• Much more
https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
CLI Options
• --option (option is true)
• --option=X (option is X)
• -o=X (shorter)
• --!option (option is false)
• --no-option (option is false)
https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
SheBang Scripts
• Unix/Mac Scripts
•
#
!
/usr/bin/env boxlang
• Basically a *.bxs script
https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
Scheduler
• A simple Class
• 1 method: configure()
• Several Injections
• Interact with a Scheduler Class
• Startup a scheduler
• boxlang schedule path.toScheduler.bx
https://apidocs.ortussolutions.com/boxlang/1.1.0/ortus/boxlang/runtime/async/tasks/BaseScheduler.html
BoxLang IDE
BoxLang IDE
• LSP Runtime
• Code Insight + highlighting
• Inline docs
• MiniServer
• Run CFML/BX Code
• Built-in debugger!
Tooling Overview
• More polished experience
• Dedicated toolbar and
panels
• Quick access to the
BoxLang community
• BoxLang REPL
Tooling - Integrated BoxLang Commands
Tooling - Home Manager
• Manage your runtime homes
• Clear class
fi
les
• Open home folder
• Easily manage con
fi
guration
• View log
fi
les
• Manage and install modules
Tooling - Version Manager
• Install and manage di
ff
erent versions
• Easily run CLI scripts and MiniServers with
speci
fi
c BoxLang versions
• A game changer for testing for regressions
Boxlang Debugger
• Breakpoints on any CFML/BX Code
• OS, MiniServer or CommandBox
• Pause Threads
• Change variables at runtime
• Watch variable expressions
• Conditional Breakpoints
• Live debug any BoxLang Enabled Server
Demo
BoxLang WebApps
Different Runtimes
• MiniServer
• CommandBox
• Servlet Deployments (war)
• Tomcat
• Jetty
• Resin
• Payara
MiniServer
• Lightweight Pure Java Web Server
• NOT a servlet engine
• Extremely fast
• Rewrites Enabled
• WebSockets
• Custom Home
• Custom Con
fi
gs
• ENV Support
MiniServer Can’t….
• SSL Port
• Multi-Site
• Server Rules
• WAF
• Security Rules
• CFCon
fi
g Support
CommandBox
• Recommend Enterprise Engine
• Open-Source -> CommandBox Open-Source
• BoxLang +/++ -> CommandBox PRO
• Multi-Site
• Automatic JDK management
• Cache Connectors
• Server Sync
• OS Service Manager
CommandBox
Demo
Further Study
• AWS Lambdas (Session Tomorrow)
• Schedulers
• Async Framework
• Modules
• Read the docs!
https://boxlang.ortusbooks.com/
Q&A
The Future of Modern Development
Starts Here, with you! 🚀
www.boxlang.io

More Related Content

PDF
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
PDF
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
PDF
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
PDF
Geting-started with BoxLang Led By Raymon Camden.pdf
PDF
Into The Box Conference Keynote Day 1 (ITB2025)
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
PDF
What's-New-with-BoxLang-Brad Wood.pptx.pdf
PDF
What's New with BoxLang Led by Brad Wood.pdf
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
Geting-started with BoxLang Led By Raymon Camden.pdf
Into The Box Conference Keynote Day 1 (ITB2025)
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
What's-New-with-BoxLang-Brad Wood.pptx.pdf
What's New with BoxLang Led by Brad Wood.pdf

Similar to Getting Started with BoxLang - CFCamp 2025.pdf (20)

PDF
BoxLang IDE - Led by Jacob Beers ITB 2025.pdf
PDF
Customize your Runtime Creating your first BoxLang Module.pdf
PPTX
2016 bioinformatics i_python_part_1_wim_vancriekinge
PPTX
P1 2017 python
ODP
Programming languages
PDF
BoxLang vs the world Koi Koenig CFCamp 2024
PPTX
BoxLang Last Visionary Licenses opportunity
PPTX
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
PDF
Building Dynamic AWS Lambda Applications with BoxLang
PDF
BoxLang JVM Language : The Future is Dynamic
ODP
How to start using Scala
PPTX
P1 2018 python
PDF
Java ScriptingJava Scripting: One VM, Many Languages
PDF
Scripting Yor Java Application with BSF3
 
KEY
Polyglot Grails
PPTX
Introduction to Scala language
PPTX
Road to sbt 1.0 paved with server
PDF
Scala: An OO Surprise
PDF
BoxLang Developer Tooling: VSCode Extension and Debugger
PPTX
Road to sbt 1.0: Paved with server (2015 Amsterdam)
BoxLang IDE - Led by Jacob Beers ITB 2025.pdf
Customize your Runtime Creating your first BoxLang Module.pdf
2016 bioinformatics i_python_part_1_wim_vancriekinge
P1 2017 python
Programming languages
BoxLang vs the world Koi Koenig CFCamp 2024
BoxLang Last Visionary Licenses opportunity
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
Building Dynamic AWS Lambda Applications with BoxLang
BoxLang JVM Language : The Future is Dynamic
How to start using Scala
P1 2018 python
Java ScriptingJava Scripting: One VM, Many Languages
Scripting Yor Java Application with BSF3
 
Polyglot Grails
Introduction to Scala language
Road to sbt 1.0 paved with server
Scala: An OO Surprise
BoxLang Developer Tooling: VSCode Extension and Debugger
Road to sbt 1.0: Paved with server (2015 Amsterdam)
Ad

More from Ortus Solutions, Corp (20)

PDF
June Webinar: BoxLang-Dynamic-AWS-Lambda
PDF
BoxLang-Dynamic-AWS-Lambda by Luis Majano.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
CommandBox WebSockets - and SocketBox.pdf
PDF
CMS Switch-a-Rooney! Converting Your MuraMasa Sites to ContentBox.pdf
PDF
Atomic Design Building Scalable Interfaces.pdf
PDF
10 Techniques to writing easy yet stupidly thorough unit tests.pdf
PDF
Catching Wire; An introduction to CBWire 4
PDF
I am afraid of no test! The power of BDD
June Webinar: BoxLang-Dynamic-AWS-Lambda
BoxLang-Dynamic-AWS-Lambda by Luis Majano.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
CommandBox WebSockets - and SocketBox.pdf
CMS Switch-a-Rooney! Converting Your MuraMasa Sites to ContentBox.pdf
Atomic Design Building Scalable Interfaces.pdf
10 Techniques to writing easy yet stupidly thorough unit tests.pdf
Catching Wire; An introduction to CBWire 4
I am afraid of no test! The power of BDD
Ad

Recently uploaded (20)

PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Introduction to Artificial Intelligence
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Digital Strategies for Manufacturing Companies
PPTX
history of c programming in notes for students .pptx
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Odoo POS Development Services by CandidRoot Solutions
Introduction to Artificial Intelligence
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PTS Company Brochure 2025 (1).pdf.......
Digital Systems & Binary Numbers (comprehensive )
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Odoo Companies in India – Driving Business Transformation.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Digital Strategies for Manufacturing Companies
history of c programming in notes for students .pptx
Understanding Forklifts - TECH EHS Solution
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
wealthsignaloriginal-com-DS-text-... (1).pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Computer Software and OS of computer science of grade 11.pptx
Upgrade and Innovation Strategies for SAP ERP Customers
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx

Getting Started with BoxLang - CFCamp 2025.pdf

  • 2. LUIS F. MAJANO Your Host • CEO Ortus Solutions • Computer Engineer • Creator of MANY things box! • Documentation Weirdo!
  • 4. BoxLang is a modular dynamic language for the JVM, aiming to make your development more productive, expressive, functional, and available everywhere. DYNAMIC : MODULAR : PRODUCTIVE
  • 5. What is Boxlang? • New language and runtime for the JVM • Lightweight (7MB!) dynamic, loosely typed language • Multi-Runtime • Multi-Parser • Modular + Extensible • Can replace ColdFusion/Lucee installs • Open Source + FREE 🎉
  • 6. BoxLang +/++ • BoxLang +/++ Subscriptions • Premium Modules + Features • Support + SLAs • CommandBox PRO • Cache Connectors • WebServer Connectors • Server Sync • Much more. •https://www.boxlang.io/plans
  • 7. BoxLang is a modular dynamic language for the JVM that aims to make development more productive, expressive, functional, and available everywhere.
  • 8. Multi-Parsers : BoxLang + CFML + ??? • Our way to split with the old and bring in the new • Transpile CFML into BoxLang • JIT • One-Time • BoxLang is a NEW clean slate • Our way to provide static analysis tooling • Tons of features now in our IDE • Two Transpilers In Planning: COBOL, Groovy .cfc, .cfm .bx, bxs, bxm
  • 9. CFML Drop-In Replacement • For Drop-In Replacement of CFML • bx-compat-cfml • Tools • boxlang featureAudit <options> • boxlang cftranspile <options> .cfc, .cfm .bx, bxs, bxm
  • 12. Key Features • 100% Java interop • Auto Casting, type promotions, type contagion • Extend Java, Implement Java, Import Java • Classes (full OO, interfaces, abstract, static, etc) • Closures and Pure Functions • Unmodi fi able Types (Query, Array, Struct) • Event-Driven Language • Caching Engine + API • Task Scheduling
  • 13. Key Features • Member functions • Tag Islands • Extend via Modules • Meta programming • Array/Struct Change Listeners • All File operations use NIO • Async Framework • Much More…
  • 14. How • Install the JDK (21+ minimum) • Install the binaries • Install the IDE
  • 15. Runtime Installers • Each runtime can be di ff erent • Installation • Con fi guration • Modules • Please know this before hand • Each runtime doc speci fi es it
  • 17. BoxLang OS • OS Binary • Scripting • Scheduling • CLI Applications • Installers • Quick Installer • Windows Installer • OS Binaries • boxlang • install-bx-module • boxlang-miniserver • install-boxlang https://boxlang.ortusbooks.com/getting-started/installation
  • 19. BoxLang Home • User Home Folder: ~/.boxlang • Compiled Classes • Con fi guration Files • Lib (Java Integration) • Logs • Modules • Maven pom.xml • Etc
  • 20. BoxLang Modules • Extra functionality in • OS • install-bx-module {moduleName} • box install {moduleName} • JDBC Drivers, mail, orm, ai, pdf, markdown, etc
  • 21. Demo
  • 23. CLI Apps • Execute • *.bxs • *.bxm • *.bx -> main( args = [] ) • BIFS • CLIGetArgs() • CLIClear() • CLIExit() • CLIRead() https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
  • 24. CLI Apps • server.cli • Execution Path • CLI Arguments • Positional • Options • Working directory • Much more https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
  • 25. CLI Options • --option (option is true) • --option=X (option is X) • -o=X (shorter) • --!option (option is false) • --no-option (option is false) https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
  • 26. SheBang Scripts • Unix/Mac Scripts • # ! /usr/bin/env boxlang • Basically a *.bxs script https://boxlang.ortusbooks.com/getting-started/running-boxlang/cli-scripting
  • 27. Scheduler • A simple Class • 1 method: configure() • Several Injections • Interact with a Scheduler Class • Startup a scheduler • boxlang schedule path.toScheduler.bx https://apidocs.ortussolutions.com/boxlang/1.1.0/ortus/boxlang/runtime/async/tasks/BaseScheduler.html
  • 29. BoxLang IDE • LSP Runtime • Code Insight + highlighting • Inline docs • MiniServer • Run CFML/BX Code • Built-in debugger!
  • 30. Tooling Overview • More polished experience • Dedicated toolbar and panels • Quick access to the BoxLang community • BoxLang REPL
  • 31. Tooling - Integrated BoxLang Commands
  • 32. Tooling - Home Manager • Manage your runtime homes • Clear class fi les • Open home folder • Easily manage con fi guration • View log fi les • Manage and install modules
  • 33. Tooling - Version Manager • Install and manage di ff erent versions • Easily run CLI scripts and MiniServers with speci fi c BoxLang versions • A game changer for testing for regressions
  • 34. Boxlang Debugger • Breakpoints on any CFML/BX Code • OS, MiniServer or CommandBox • Pause Threads • Change variables at runtime • Watch variable expressions • Conditional Breakpoints • Live debug any BoxLang Enabled Server
  • 35. Demo
  • 37. Different Runtimes • MiniServer • CommandBox • Servlet Deployments (war) • Tomcat • Jetty • Resin • Payara
  • 38. MiniServer • Lightweight Pure Java Web Server • NOT a servlet engine • Extremely fast • Rewrites Enabled • WebSockets • Custom Home • Custom Con fi gs • ENV Support
  • 39. MiniServer Can’t…. • SSL Port • Multi-Site • Server Rules • WAF • Security Rules • CFCon fi g Support
  • 40. CommandBox • Recommend Enterprise Engine • Open-Source -> CommandBox Open-Source • BoxLang +/++ -> CommandBox PRO • Multi-Site • Automatic JDK management • Cache Connectors • Server Sync • OS Service Manager
  • 42. Demo
  • 43. Further Study • AWS Lambdas (Session Tomorrow) • Schedulers • Async Framework • Modules • Read the docs! https://boxlang.ortusbooks.com/
  • 44. Q&A The Future of Modern Development Starts Here, with you! 🚀 www.boxlang.io