Lianja for VFP Developers

If you are a Visual FoxPro developer then you will feel right at home with Lianja.

There is no need to learn a new language -- Lianja has its own cross-platform implementation of Visual FoxPro (LianjaScript) embedded inside it as well as PHP, Python and JavaScript. Yes, that's right, all these scripting languages are embedded inside Lianja and they are all fully integrated so that code can be written in any of these scripting languages.

Lianja by design is a radical departure from traditional desktop development tools just as Visual FoxPro was to FoxBase and Visual Basic was to Basic.

It takes a radically different view of app development providing a high level of abstraction for visually designing, developing and deploying multi-client-device business apps on whatever operating system you choose.

When we set out to develop Lianja we made a conscious decision to architect and build a product that embraced dynamic scripting languages, hence the support for Visual FoxPro scripting, PHP, Python and JavaScript.

Lianja is also cross-platform; Windows, Mac, and Linux, and it allows you to build data-centric apps that can connect to any data source; MSSQL, MySQL, PostgreSQL, Oracle (and others), but also very importantly it enables both professional developers and domain-experts (people who know everything about their business but are not programmers) to be able to build compelling Desktop, Web and Mobile Apps. 

The Lianja App Builder includes support for importing Visual FoxPro databases (.dbc files) , projects (.pjx files), forms (.scx files) and visual classes (.vcx files).

The Visual FoxPro compatible scripting language in Lianja has been extended with many new commands and functions.

The Visual FoxPro UI classes that you as a VFP developer are familiar with are all available in Lianja as well as many additional ones to help you better build modern looking Apps. All of the VFP UI classes can be skinned with CSS to improve their visual appearance without having to change hardly any of your existing code (if any at all).

Additionally, Lianja for Windows has full support for ActiveX.

The database engine in Lianja is full 64-bit with huge file support so unlike VFP there is no practical restriction on the size of database tables.

One of  the unique features of Lianja is that it has a complete cross-platform web browser component built-in as well as a server page processing engine. Server pages (just as you would write them as .php or .asp pages) can be written in VFP and embedded into your Lianja Apps (.rsp pages). Alternatively, you can write these server side pages in Python (.pysp pages) or JavaScript (.jssp pages). There is no need to install or configure anything to obtain this functionality.

Additionally, Lianja also has a complete database server -- Lianja SQL Server -- that runs on Windows and Linux. Lianja SQL Server is a true database server just like MySQL or MSSQL -- the big difference being that you can write stored procedures and triggers all in VFP.

Lianja takes Visual FoxPro to the next level which is why many developers have said that Lianja is what "Visual FoxPro 10 should have been".

If you want to know more about Lianja without having to spend a lot of time browsing around the website read the FAQ or take a look at The Lianja Overview.

Lianja App Builder is a Visual development environment with a lot of features and functionality to minimize coding. Rather than jump straight into coding in LianjaScript/VFP it is important to understand what is built-in to Lianja.

Visual Development in Lianja

Understanding the Lianja application architecture
https://www.lianja.com/doc/index.php/Understanding_the_Lianja_App_Architecture

Creating a database and it's tables
https://www.lianja.com/doc/index.php/Creating_a_database_and_its_tables

Creating an App
https://www.lianja.com/doc/index.php/Getting_Started_Part_1#Creating_your_first_Lianja_App

Creating a page
https://www.lianja.com/doc/index.php/Category:Page_Builder

Costomizing page appearance
https://www.lianja.com/doc/index.php/Page_Appearance

Customizing section appearance
https://www.lianja.com/doc/index.php/Section_Appearance

Customizing attributes
https://www.lianja.com/doc/index.php/Category:Attributes

Using the App Inspector
https://www.lianja.com/doc/index.php/Category:App_Inspector_v5

Using the Query Builder
https://www.lianja.com/doc/index.php/QueryBuilder

Using the Query Picker
https://www.lianja.com/doc/index.php/QueryPicker

Split grid editing. Grid, form, editors, images
https://www.lianja.com/doc/index.php/Split_Grid_Sections

Creating reports
https://www.lianja.com/doc/index.php/Reports_Workspace

User roles and permissions
https://www.lianja.com/doc/index.php/Category:Users_and_Roles

Adding contextual help
https://www.lianja.com/doc/index.php/Help_Attributes

Understanding UI presentation rules
https://www.lianja.com/doc/index.php/UI_Presentation_Rules

Row level security (RLS)
https://www.lianja.com/doc/index.php/Category:Row_Level_Security

Dynamic data masks (DDM)
https://www.lianja.com/doc/index.php/Understanding_Dynamic_Data_Masking_in_Lianja

Live preview
https://www.lianja.com/doc/index.php/Deprecated:_Understanding_Live_Preview_in_Lianja

Hot backup and restore
https://www.lianja.com/doc/index.php/Hot_Backup_and_Restore

Database timelines
https://www.lianja.com/doc/index.php/Category:Database_Timelines

Working with metadata 
https://www.lianja.com/doc/index.php/MetaData_Editor

Working with metatypes
https://www.lianja.com/doc/index.php/MetaTypes

Working with UI Page libraries
https://www.lianja.com/doc/index.php/Working_with_UI_Page_Libraries

Working with Visual Components
https://www.lianja.com/doc/index.php/Visual_Components

Understanding UI Navigation
https://www.lianja.com/doc/index.php/Understanding_Lianja_UI_Navigation

Custom delegates
https://www.lianja.com/doc/index.php/Custom_Delegates

Event sequences
https://www.lianja.com/doc/index.php/Event_Delegate_Sequences

Working with the Lianja Object Model (LOM)
https://www.lianja.com/doc/index.php/Working_with_the_Lianja_Object_Model

Understanding showDocument()
https://www.lianja.com/doc/index.php/Using_the_showdocument()_function_and_Lianja.showDocument()_method

Canvas designer
https://www.lianja.com/doc/index.php/Canvas_Designer

Data binding
https://www.lianja.com/doc/index.php/Understanding_Data_Binding

Data validation
https://www.lianja.com/doc/index.php/Data_Validation

Autosuggestions
https://www.lianja.com/doc/index.php/Autosuggestions

Understanding macros
https://www.lianja.com/doc/index.php/Understanding_Macros

Understanding UI layouts
https://www.lianja.com/doc/index.php/Understanding_UI_Layouts

Dynamic compilation
https://www.lianja.com/doc/index.php/Understanding_Dynamic_Compilation

Dialog panels
https://www.lianja.com/doc/index.php/Dialog_Panels

Using WebViewWidgets
https://www.lianja.com/doc/index.php/Using_WebViewWidgets

Working with third party data sources using Virtual Tables
https://www.lianja.com/doc/index.php/Virtual_Tables

Data mapping
https://www.lianja.com/doc/index.php/Data_Mapping

LianjaScript/VFP Developer QuickStart with Lianja

Build a Lianja App using best practices
https://www.lianja.com/community/entry.php?28-HOWTO-Build-a-Lianja-App-using-best-practices

Importing VFP Database and Tables
https://www.lianja.com/doc/index.php/Importing_Visual_FoxPro_Databases_and_Tables

LianjaScript/VFP Command Reference
https://www.lianja.com/doc/index.php/Category:Commands

LianjaScript/VFP Function Reference
https://www.lianja.com/doc/index.php/Category:Functions

Developing custom sections in LianjaScript/VFP
https://www.lianja.com/doc/index.php/Developing_Lianja_Custom_Sections_in_Visual_FoxPro

Developing custom gadgets in LianjaScript/VFP
https://www.lianja.com/doc/index.php/Developing_Lianja_Custom_Gadgets_in_Visual_FoxPro

Using the Lianja Framework classes in LianjaScript/VFP
https://www.lianja.com/doc/index.php/Category:Framework_Classes

Custom Delegates
https://www.lianja.com/doc/index.php/Custom_Delegates

Working with Lianja grids
https://www.lianja.com/community/entry.php?18-HOWTO-Working-with-Lianja-grids

Integrate Lianja and VFP with concurrent data access
https://www.lianja.com/community/entry.php?14-HOWTO-integrate-Lianja-and-VFP-with-concurrent-data-access

Understanding UI Data Queries in Lianja
https://www.lianja.com/community/entry.php?7-Understanding-UI-Data-Queries-in-Lianja

Understanding Responsive UI Apps
https://www.lianja.com/community/entry.php?5-Understanding-Responsive-UI-Apps

Lianja DBA (Database Administrator) cheat sheet
https://www.lianja.com/community/entry.php?20-Lianja-DBA-(Database-Administrator)-cheat-sheet

Working with forms in Lianja
https://www.lianja.com/community/entry.php?27-HOWTO-Working-with-forms-in-Lianja

Developing custom WebViews in LianjaScript/VFP
https://www.lianja.com/doc/index.php/Developing_Custom_WebViews_in_Visual_FoxPro

Developing LianjaScript/VFP Server Pages
https://www.lianja.com/doc/index.php/Visual_FoxPro_Server_Pages
https://www.lianja.com/doc/index.php/EXECRSP()
https://www.lianja.com/doc/index.php/EXECPYSP()
https://www.lianja.com/doc/index.php/EXECJSSP()

Working with data in LianjaScript/VFP
https://www.lianja.com/doc/index.php/Working_with_data_in_Visual_FoxPro
https://www.lianja.com/doc/index.php/Category:Working_with_Data

Using SQL in LianjaScript/VFP
https://www.lianja.com/doc/index.php?search=sql&title=Special%3ASearch&go=Go

Third party (e.g. MSSQL, MySQL) database connectivity
https://www.lianja.com/doc/index.php/Category:Third_Party_Database_Connectivity

Working with Virtual Tables
https://lianja.com/doc/index.php/Virtual_Tables

Working with ODBC in LianjaScript/VFP
https://www.lianja.com/doc/index.php/SQL_Remote_Data_Connectivity_Functions

Calling Python from LianjaScript/VFP
https://www.lianja.com/doc/index.php/EXECPYTHON()

Calling JavaScript from LianjaScript/VFP
https://www.lianja.com/doc/index.php/EXECJAVASCRIPT()

Debugging LianjaScript/VFP using the troubleshooter 
https://www.lianja.com/doc/index.php/Troubleshooter_Python_Debugger_Tab

Calling server-side LianjaScript/VFP functions from client-side javascript in Web Apps
https://www.lianja.com/doc/index.php/Exports.conf

See Also

Lianja in a Nutshell
Understanding the Lianja App Architecture
Lianja Developers Guide

Lianja Users Guide
Lianja UI Framework classes
Guide to Importing Visual FoxPro files
VFP to Lianja Migration Guide