Кіріспе
Lasso – интернеттегі қосымшаларды әзірлеуге арналған қосымша сервері және серверді басқару интерфейсі. Ол сонымен қатар жалпы мақсаттағы жоғары деңгейдегі бағдарламалау тілі. Алғашында Filemaker үшін веб-деректер көзін қосу құралы ретінде пайда болған, кейіннен Apple Computer-дің FileMaker 4.0 және Claris Homepage бағдарламаларына CDML түрінде енгізілген. Одан бері ол үлкен ауқымды интернеттік қосымшалар мен веб-беттерді әзірлеу және қызмет көрсетуге қолданылатын күрделі тілге айналды. Lasso қарапайым үлгілер жүйесін қамтиды, ол кодтың HTML және басқа мазмұн түрлерін жасауды басқаруға мүмкіндік береді. Lasso – объектіге бағытталған бағдарламалау тілі, онда әрбір мән объекті болып табылады. Ол процедуралық бағдарламалауды шексіз әдістер арқылы қолдайды. Тіл кең ауқымды қасиеттерді және көптеген жіберулерді пайдаланады. Lasso динамикалық типтеу жүйесіне ие, онда объектілерді жүктеу және орындау кезінде кеңейтуге болады, сондай-ақ автоматты жад басқару, толыққанды стандартты кітапхана және үш компиляция әдістемесі бар: динамикалық (PHP және Python тілдерімен салыстыруға болады), уақытында компиляция (Java немесе .NET Framework тілдерімен салыстыруға болады) және алдын ала компиляция (C тілімен салыстыруға болады). Lasso Query Expressions-ты да қолдайды, бұл массивтер мен басқа да реттіліктердегі элементтерді SQL синтаксисіне ұқсас табиғи тіл арқылы қайталауға, сүзуге және өңдеуге мүмкіндік береді. Lasso стандартты жол объектісінде толық Unicode таңбаларын қолдайды, бұл оған жапон және швед тілдері сияқты көп байтты таңбаларды қолдауға және жол деректерін желіге немесе файлдық жүйеге жазғанда UTF-8 түрлендіруін жүзеге асыруға мүмкіндік береді. Lasso көбінесе сценарий тілі ретінде қолданылады, сонымен қатар сценарий емес контексттерде де қолданылады. Lasso коды "LassoApps" деп аталатын жеке орындалатын бағдарламаларға жинақталуы мүмкін, онда қалта құрылымдары бір файлға біріктіріледі. Lasso Server қосымша сервері жүйелік қызмет ретінде жұмыс істейді және FastCGI арқылы веб-серверден сұрауларды қабылдайды. Содан кейін ол сұрауды тиісті Lasso Instance-қа жібереді, ол жауапты жасайды. Бірнеше жеке инстанциялар қолдалады, бұл бір серверге әрқайсысы жеке процестер ретінде бірнеше сайттарды басқаруға мүмкіндік береді. Сервер көп ядролы жүйелерге арналған жоғары өнімділікке ие IO негізіндегі жасыл жіптер жүйесін пайдаланады. Lasso серверлік сценарий тілдері PHP және Python, ColdFusion, Ruby және т.б. сияқты тілдермен салыстыруға болады.
Тарих
Lasso 1990-шы жылдардың ортасында, алғашқы веб-дамытушылар Apple-дің FileMaker Pro бағдарламасын пайдаланып деректер базасына сүйенген веб-сайттар құруға тырысқан кезде пайда болды. Mac платформасында екі шешім болды: Эрик Бикфордтың WEB FM және Рассел Оуэнстің FileMaker CGI (ROFM) – екеуі де AppleScript-те құрылған және пішімдеу үшін FileMaker Pro есептеу өрістерін пайдалануды қажет етті. (WEB FM кейіннен C тілінде қайта жазылды). 1995 жылдың күзінде тәуелсіз дамытушы Винс Бонфанти ROFM негізінде жаңа CGI құрды, өнімділікті арттыру үшін C/C++ тілдерін қолданды және есептеу өрістеріне сүйенудің орнына HTML негізіндегі «үлгілер» тұжырымын пайдаланды. Бұл FileMaker қауымдастығында өте танымал болды және бастапқы кодты сатып алған Вашингтон штатының Иссакуа қаласында орналасқан баспа және веб-сайттарды дамыту фирмасы Blue World Communications Inc. иесі Билл Доерфелдтің назарына жеткізілді. Сол кезде Blue World Frontier скрипт ортасында CGI-ді жақсартумен айналысты, бұл «Lasso» атауының туындауына себеп болды. Әрі қарай жақсарту қажеттілігі C негізіндегі CGI құруға әкелді, ол кейіннен «Lasso 1.0» ретінде жарияланды. Бұл кезде Lasso тек FileMaker Pro 3.x және WebSTAR-мен ғана жұмыс істеді және тек Apple Mac OS 8 және одан жоғары нұсқаларында қолданылды. Lasso-ның қолданылуы, әсіресе баспа басылымдарындағы шолулар мен Blue World-тің көптеген электрондық пошта талқылау тізімдеріне қатысуы арқасында өсті, олардың көпшілігі FileMaker Pro-ға қатысты. Blue World сондай-ақ жиі көзге түсті және MacWorld конференциясында жетекші компания ретінде танылды. 1997 жылдың қаңтарында Lasso 1.2 желісін шығарғаннан кейін Blue World және Bonfanti Apple Computer бағдарламалық жасақтама бөлімшесі Claris және FileMaker Pro иесімен жеке келіссөздер жүргізді. Claris ақырында Lasso 1.2 нұсқасынан кейінгі бастапқы кодты лицензиялады және Винс пен Пол Бонфантидің көмегімен FileMaker Pro 4.0 құрамы ретінде FileMaker Web Companion-ды жариялады. FileMaker Web Companion тілі CDML (Claris Dynamic Markup Language) Lasso 1.2 LDML (Lasso Dynamic Markup Language) тілінен ерекшеленді, бірақ үшінші тарап серверлері арқылы FileMaker Pro-дан қызмет көрсетуге тырысатын дамытушыларға оңай көшуді ұсынатын және тартымды мүмкіндіктер ұсынатын болды. Lasso сияқты Web Companion-ды FileMaker 4.0 бағдарламасына қосу Macintosh веб-дамыту қауымдастығы ішінде Lasso-ның өсуіне серпін берді. Blue World Лассоны дамытуды жалғастырды, ал Кайл Джессап Лассоның бас бағдарламашысы болды. 1997 жылдың шілдесінде Lasso 2.0 жарияланды, бұл Lasso-ны қалай пайдалануға болатындығына қатысты маңызды өзгерістерді енгізді. 2002 жылдың 26 ақпанында Blue World Lasso 5-ті шығарды, бұл осы күнге дейін FileMaker-ге бағытталған тілден түбегейлі айырмашылық. (Lasso 4 нұсқасы жарық көрген жоқ; нұсқа нөмірі 3-тен 5-ке секірді). Lasso 5 көптеген жаңартулардың ішінде толыққанды қайта жазылған архитектураны (OS X, Windows, Linux үшін) және кіріктірілген MySQL деректер базасын қамтыды. Lasso 5 әлі де FileMaker деректер базасымен байланыс құрса да (бірақ FileMaker Server-мен емес), деректер көзі ретінде FileMaker SQL қозғалтқышына қарағанда салыстырмалы түрде баяу және қымбат болды. 2.0 нұсқасынан бастап Lasso толыққанды көп жіпті болды, бір уақытта көптеген қосылымдарға мүмкіндік берді, бірақ кейбір операцияларда FileMaker-дің кешігуіне ұшырады және деректер көзіне үлкен өзгерістер енгізуден басқа оны сенімді түрде айналып өтудің жолы болмады. Lasso 5 сонымен қатар OS X, Windows және Linux жүйелерінде Apache HTTP Server-ді қолдауды қосты, Webstar 5, AppleShare IP (OS X Server-мен ауыстырылды) және iTools (Tenon-нан) қосылды. (Lasso көп жылдар бойы қолданылып келген Mac OS 9 қолдау таппады). Бұл классикалық LAMP серверлік архитектурасына жақындықты күшейтті. Blue World Communications Macromedia және Adobe компанияларының танымал веб-дамыту пакеттеріне арналған плагиндерді шығарды. Lasso Studio 1.5 for Dreamweaver 2001 жылы MacWorld журналының Editors' Choice Awards for Internet and Development байқауында екінші орынды иеленді, бірақ Adobe Dreamweaver 3 бағдарламасына жеңілді. Lasso Studio for Dreamweaver 1.5 MacWorld журналының оң пікірін алды, ол 4 1/2 мысықтың бағасын алды. Lasso Studio-ның кейінгі нұсқалары 2004 жылдың 26 наурызында Dreamweaver және GoLive үшін Lasso Studio 7 қоса алғанда, Macromedia Dreamweaver және Adobe GoLive-ды қолдады. 2004 жылы FileMaker Server және FileMaker Server Advanced 7-ші нұсқасының шығарылуымен FileMaker веб-сайттарға деректерді қызмет көрсету стратегиясында үлкен өзгеріс жасады. Олар XML XSLT, ODBC және JDBC қосылымын, бірақ тек қымбат FileMaker Server Advanced өнімі арқылы ғана атап өтті. Blue World Lasso тілін FileMaker және Apple-ден алыстата бастады. 2005 жылы Lasso Pro MySQL Network сертификатын алды, бұл танымал ашық бастапқы деректер базасының Lasso болашағы үшін маңыздылығын көрсетті. 2004 жылдың 1 тамызында Билл Доерфельд ресми түрде Lasso өнімдерін Флорида штатының Форт-Лодердейл қаласындағы OmniPilot Software, Inc. компаниясына сатты. Lasso 7.0.3 Blue World шығарған Lasso-ның соңғы нұсқасы болды. 2004 жылдың 25 қазанында OmniPilot ресми түрде Lasso 8-ді жариялады, бұл бір сервердегі бірнеше сайттар үшін қоршау және көптеген жаңа деректер көздерімен байланыс мүмкіндігін қамтитын нұсқа. Бұл сонымен қатар IP-адрестермен шектелген Lasso-ның алғашқы «тегін» нұсқасын қамтыды. OmniPilot бұл шығарылымды Dreamweaver және GoLive үшін Lasso Studio 8, ChartFX интеграциясы және көптеген тегін Lasso негізіндегі шешімдер сияқты бірқатар қосымша өнімдермен толықтырды. 2007 жылы OmniPilot-тың үш қызметкері – Кайл Джессап (Lasso 1.0-дың бастапқы дамытушысы), Флетчер Сэндбек (Blue World-тың ерте қызметкері, «Кеңестер мен хитролықтар» үшін белгілі) және Керри Адамс (OmniPilot қызметкері) Lasso-ның интеллектуальдық меншігін OmniPilot-тан сатып алу және дамытуды жалғастыру үшін LassoSoft LLC жаңа компаниясын құрды. PHP және ASP сияқты әлдеқайда танымал тілдерге қарсы бәсекелесу қажеттілігін тани отырып, архитектурада, синтаксисте және құрылымда радикалды өзгерістер жасалды және олар Lasso 9.0 ретінде жарияланды. Бұл өзгерістер тудырған техникалық қиындықтар, маркетинг ресурстарының шектеулігіне байланысты қоғамдастықтың айтарлықтай төмендеуіне әкелді, өйткені компания жаңа тіл үшін құжаттама мен қолдауды жариялауға күресті. 2010 жылдың желтоқсанында Lasso 9.0 тіліне, маркетингке және құжаттамаға үлкен инвестиция жасаған жаңа канадтық компания LassoSoft Inc. құрылды. Кайл Джессап Lasso-ның Бас дамытушысы және Өмір бойына адал диктаторы болуға келісті. Соңғы жылдары бірнеше шығарылымдар (9.1 және 9.2) жасалды.