Websites we'll use:
I. LiveCode overview • 4th gen language • rapid application development environment • English like scripting language Deploy to... Desktop: macOS, Windows, Linux Mobile: iOS, Android Web (via HTML5/JS conversion - WebAssembly (WASM) engine ) see https://webassembly.org/ Server side engine analogous to PHP - dynamic HTML generation see - Database middleware (LCU and Chinese P&R database communications happen via LC Server middleware) Projects done with LC - Scheduler - Chinese P&R - LCU - Learning Web - http://livecode1001.blogspot.com/ - show web deployed samples jigsawPuzzle - https://asay.byu.edu/jigsawPuzzle/jigsawPuzzle.html MoscowTour - https://asay.byu.edu/moscow10/MoscowTour.html II. LiveCode Basics Stack - basic project document, saved as stack file with .livecode extension Card - page/view/screen within stack Objects/properties - object identity: owns specific appearance, behavior - inheritance and message passing - Grouping IDE - has the tools you would expect - object creation - property inspector - alignment and layering tools - Project overview (Project Browser) - Script Editor Language features Object oriented-ish Event driven Interface completely programmable (i.e., in theory you could create a stack and objects using only LiveCode Script) variables, arrays --scope and persistence looping structures conditional structures reusable code modules (functions, methods, whatever you want to call them) libraries, extensions file i/o, external media assets III. Hands-on Project: Hot Linked words in LCDAY 2
III. LiveCode in ODH operations - Russell Hansen: LC in the ODH Testing Lab - Devin: IV. How DigHT 210 works Brie Woolley - student experience Sample schedule form Winter 2022 LCU LiveCode licenses livecode.byu.edu V. LiveCode as front end Database access revOpenDatabase() revDataFromQuery() revExecuteSQL revCloseDatabase Web services access - show demo stack Shell scripts/Command line access - Have everyone bring a command line utility or program to run, - Or just run some commands and show output VI. Hands-on Review of LiveCode language: - Object types: button, field, image, graphic, player, widget - Common commands: put go set show/hide enable/disable move grab - Messages (events) mouseUp mouseDown openCard openStack closeCard closeStack mouseEnter/mouseLeave - Control structures if - then - else repeat - Properties the location the [short] name the backgroundColor the foregroundColor Here's a more detailed review sheet of LiveCode vocabulary. VII. Hands-on Project: Hot Linked words in LC Project 2: Drag-drop Interactions Objective: Based on the example shown in the presentation, create an interactive dragdrop application. Puzzle, piece-moving game (chessboard, e.g.), matching quiz, etc. Create an object or objects to be dragged. They could be images, buttons, fields, graphics. Initiation of drag comes on mouseDown using the grab command Evaluation of correct drop location comes on mouseUp Use one of these to evaluate a "hit": Operator: [point] is within [rectangle] Functions: within([object],[point]) intersect(targetObj,movedObj,[threshold])