A Lasso egy internetes alkalmazások fejlesztésére használt alkalmazásszerver és szerverkezelő felület, és általános célú, magas szintű programozási nyelv. Eredetileg a Filemaker webes adatforrás-összekapcsoló eszközeként fejlesztették ki, és később az Apple FileMaker 4.0 és a Claris Home Page szerkesztő része lett CDML néven. Azóta komplex nyelvvé fejlődött, amelyet nagyszabású internetes alkalmazások és weboldalak fejlesztésére és kiszolgálására használnak.

A Lasso egy egyszerű sablonrendszert használva lehetővé teszi a HTML és más tartalomtípusok létrehozását kód által. A Lasso objektumorientált, és minden értéket objektumként kezel. Támogatja a procedurális programozást is úgynevezett nem kötött metódusokkal, és széles körben használja a trait-eket és a multimetódusokat.

A Lasso dinamikus típusok rendszerét használja, vagyis az objektumok futás közben tölthetőek be és bővíthetőek; automatikus memóriakezeléssel, átfogó standard könyvtárral és három fordítási módszerrel: dinamikus fordítás (hasonló a PHP-hez és Pythonhoz), futásidejű fordítás (hasonló a Javához vagy a .NET keretrendszerhez), és elő-fordítás (hasonló a C-hez). A Lasso támogatja a lekérdezés kifejezést (Query Expressions) is, amely lehetővé teszi a tömbökben és más tárolókban lévő elemek iterálását, szűrését és manipulálását az SQL-hez hasonló természetes nyelvi szintaxissal. A Lasso teljes Unicode karaktertámogatást tartalmaz karakterlánc-objektumában, amely lehetővé teszi több bájtos karakterek kezelését, valamint támogatja az UTF-8 átalakítást, amikor karakterlánc-adatokat ír a hálózatra vagy a fájlrendszerbe.

A Lasso hasonló a szerveroldali szkriptnyelvekhez, mint például a PHP, Python, ColdFusion, Ruby stb. Gyakran használják szkriptnyelvként, de más kontextusok széles skálájában is alkalmazzák. A kód önálló „LassoApps” nevű futtatható programokba csomagolható, amelyekben a mappastruktúrák egyetlen fájllá vannak összeállítva.

A Lasso Server alkalmazásszerver rendszerszolgáltatásként fut, és FastCGI-n keresztül fogad kéréseket a webszervertől. Ezután átadja a kérést a megfelelő Lasso példánynak, amely megfogalmazza a választ. Több egyedi példány támogatott, így egy szerver több webhelyet is kezelhet, mindegyiket külön folyamatként. A szerver nagy teljesítményű IO-alapú virtuális szálak (green threads) rendszerét használja, amelyet többmagos rendszerek számára terveztek.

A Lasso ingyenes, és részleges hozzáférést is biztosít a forráskódjához, lehetővé téve a fejlesztők számára, hogy hozzáadják vagy megváltoztassák a nyelv főbb elemeit (például Ke Carlton DS implementációja a Lasso Inlinehoz). A licencelés SAS és önálló verziókban egyaránt elérhető.

Története A Lasso története a kilencvenes évek derekán kezdődött, amikor a korai webfejlesztők adatbázis-alapú webhelyeket próbáltak készíteni az Apple FileMaker Pro segítségével. Mac platformon két lehetőség volt erre: Eric Bickford WEB-FM-je és Russell Owens FileMaker CGI-je (ROFM), mindkettő AppleScript-ben épült, és a formázáshoz a FileMaker Pro számítási mezőinek használatát igényelte. (A WEB-FM-et később C-ben írták át).

1995 őszén Vince Bonfanti független fejlesztő egy új CGI-t írt a ROFM alapjára, C/C++-t használva a jobb teljesítmény érdekében, és a HTML-alapú „sablonok” fogalmát alkalmazva a számítási mezők helyett. Ez nagyon népszerűnek bizonyult a FileMaker közösségében, és Bill Doerrfeld, a Washington állambeli Issaquah-ban működő Blue World Communications Inc, egy nyomtatási és weboldal fejlesztő cég tulajdonosa is felfigyelt rá, és megvásárolta a forráskódot. Ebben az időben a Blue World Frontier-alapú CGI-fejlesztéssel kísérletezett a Frontier parancsfájl-környezetben, és ez sugallta a Lasso elnevezést is. A további fejlesztési igény ösztönözte egy C-alapú CGI létrehozását, amelyet később Lasso 1.0 néven adtak ki. Ekkor a Lasso még csak a FileMaker Pro 3.x és a WebSTAR programokkal működött, és csak Apple Mac OS 8 és újabb rendszereken.

A Lasso legnagyobb mértékben a nyomtatott kiadványokban megjelent ismertetéseknek köszönhette népszerűségét, továbbá annak, hogy a Blue World számos e-mailes vitalistát üzemeltetett, amelyek közül sok kifejezetten a FileMaker Pro-val foglalkozott. A Blue World sok esetben szerepelt a MacWorld konferenciákon, és ezeken vezető cégként ismerték.

1997 januárjában, a Lasso 1.2 megjelenésével után a Blue World és a Bonfantik magántárgyalásokba kezdtek a Clarisszal, az Apple Computer szoftveres részlegével és a FileMaker Pro tulajdonosával. A Claris végül licencelte az 1.2-es verzió utáni Lasso forráskódot, és Vince és Paul Bonfanti segítségével kiadta a FileMaker Web Companiont, a FileMaker Pro 4.0 összetevőjeként. A FileMaker Web Companion nyelve, a CDML (Claris Dynamic Markup Language) különbözött a Lasso 1.2 LDML-jétől (Lasso Dynamic Markup Language), de elég hasonló volt ahhoz, hogy könnyű átmenetet kínáljon azoknak a fejlesztőknek, akik FileMaker Proval harmadik féltől származó szervereken keresztül dolgoztak, és vonzóbb szolgáltatásokat kínált.

A Lasso-szerű Web Companion belefoglalása a FileMaker 4.0-ba előremozdította a Lasso népszerűségének növekedését a gyorsan növekvő Macintosh webfejlesztő közösségben. A Blue World folytatta a Lasso fejlesztését, és Kyle Jessup lett a Lasso vezető programozója. 1997 júliusában megjelent a Lasso 2.0, néhány alapvető változtatást bevezetve a Lasso használatának lehetőségeiben.

2002. február 26-án a Blue World kiadta a Lasso 5-öt, amely szakított a FileMaker-centrikus nyelvezettel (megjegyzendő, hogy 4-es verzió nem volt, a 3-as után rögtön az 5-ös következett). A Lasso 5 más fejlesztések mellett egy teljesen átírt architektúrát tartalmazott (OS X, Windows, Linux számára), és egy beágyazott MySQL adatbázist. Bár a Lasso 5 továbbra is kommunikált a FileMaker adatbázissal (de nem a FileMaker Serverrel), a FileMaker adatforrásként lassabb és drágább volt az SQL motornál. A 2.0 verziótól kezdve a Lasso teljesen többszálas volt és lehetővé tette több kapcsolat egyidejű létesítését, de megadta magát a FileMaker lassúságának és latenciájának, és nem volt más módszer ez ellen, minthogy megváltoztassák az adatforrást.

A Lasso 5 már nem támogatta a Mac OS 9-et, viszont egyik újítása az Apache HTTP Server natív támogatása volt OS X, Windows és Linux alatt, hasonlóan a Webstar 5-höz, az AppleShare IP-hez (amelyet az OS X Server váltott fel) és a Tenon iTools-ához. Ez szorosabbra fűzte a kapcsolatokat egy klasszilus LAMP szerver architektúrával.

A Blue World Communications több plug-int adott ki a Macromedia és az Adobe népszerű webfejlesztési csomagjai számára. A Dreamweaverhez írt Lasso Studio 1.5 2001-ben második helyezett lett a MacWorld magazin Editors' Choice Awards for Internet and Development díjazásán, ahol az első helyet az Adobe Dreamweaver 3 szerezte meg. A MacWorld magazin pozitív kritikát közölt a Lasso Studio 1.5-ről, ötből négy és fél „egeret” adva neki. A Lasso Studio későbbi verziói (például a 2004-ben megjelent Lasso Studio 7) mind a Dreamweavert, mind a GoLive-ot támogatták.

A FileMaker Server és a FileMaker Server Advanced 7-es verziójának 2004-es megjelenésével a FileMaker jelentős változást vezetett be az adatkiszolgálási stratégiájában. Hangsúlyt helyeztek az XML-XSLT, ODBC és JDBC kapcsolatokra, de csak a drágább FileMaker Server Advanceden keresztül. A Blue World így kezdte eltávolítani a Lasso nyelvet a FileMakertől és az Appletől. 2005-ben a Lasso Pro megkapta a MySQL Network tanúsítványt, aláhúzva a népszerű nyílt forráskódú adatbázis fontosságát a Lasso jövője szempontjából.

2004. augusztus 1-jén Bill Doerrfeld hivatalosan eladta a Lasso termékcsaládot a Fort Lauderdale-bázisú OmniPilot Software Inc-nek. A Lasso 7.0.3 volt az utolsó verzió, amelyet a Blue World adott ki. 2004. október 25-én az OmniPilot hivatalosan bejelentette a Lasso 8-at, amely egyazon szerveren több webhely sandboxolását, és sok új adatforráshoz való kapcsolódást tartalmazott. Ez magában foglalta a Lasso első, IP-címekre korlátozott ingyenes verzióját is. Számos kiegészítő termék is megjelent, köztük a Lasso Studio 8 Dreamweaver-hez és GoLive-hoz, 2005. március 28-án pedig a Lasso Studio for Eclipse, ChartFX integráció, és több ingyenes Lasso-alapú megoldás.

2007-ben az OmniPilot három munkatársa, Kyle Jessup (a Lasso 1.0 eredeti fejlesztője), Fletcher Sandbeck (a Blue World első alkalmazottainak egyike, aki a rendszeres „tippek és trükkök” javaslatairól volt nevezetes) és Kerry Adams (egy OmniPilot alkalmazottj) létrehozta a LassoSoft LLC vállalkozást, hogy megvásárolja az OmniPilottól a Lasso szellemi tulajdont és folytassa a fejlesztést. Felismerve annak szükségességét, hogy versenyképesek legyenek a sokkal népszerűbb nyelvekkel (PHP, ASP) szemben, radikális változásokat hajtottak végre az architektúrában, a szintaxisban és a struktúrában, és kiadták a Lasso 9.0 változatát. A változások okozta technikai kihívások, a dokumentáció és támogatás hiánya, a korlátozott marketingforrások a felhasználói bázis jelentős hanyatlásához vezettek.

2010 decemberében megalakult egy új kanadai cég, a LassoSoft Inc, amely megvásárolta a Lasso 9.0-t és jelentős méretű beruházást hajtott végre marketing és dokumentáció területén. Kyle Jessup beleegyezett abba, hogy a vállalat élén maradjon vezető fejlesztőként és alapító tagként. Számos kiadás (9.1 és 9.2) további fejlesztéseket hozott az elkövetkező években.

Verziók +Kulcs Szín Jelentése Fejlesztés Piros Régi kiadás Nincs Sárga Stabil kiadás Biztonsági javítások Zöld Stabil kiadás Hiba- és biztonsági javítások Kék Tervezett kiadás Új funkciók