Jump to content
php.lv forumi

JSINQ - LINQ to Objects for JavaScript


Aleksejs
 Share

Recommended Posts

http://jsinq.codeplex.com/

What is JSINQ?

JSINQ is the JavaScript library that allows you to write SQL-like queries against arrays and DOM node lists.

JSINQ is a complete implementation of LINQ to Objects (the .NET 4.0 version) in JavaScript. What that means is that if you know LINQ and you know JavaScript, you know JSINQ. JSINQ is both an API-compatible implementation of System.Linq.Enumerable and a complete query-expression compiler. That's right: you can write LINQ-style queries in JavaScript. And if that isn't enough: JSINQ is also very liberally licensed, well-document, well-tested (the Enumerable-part) and a stable version has just been released. So give it a go!

 

...

 

What can I do with JSINQ?

Write arbitrarily complex queries against JavaScript arrays, DOM node lists or your own enumerable types

Find elements in the HTML DOM tree using SQL-like queries

Dynamically create HTML elements from JSON you have received via XMLHttpRequest in a declarative manner

Tinker with XML and turn it into something else

Combine it in interesting ways with the JavaScript-/Ajax-frameworks you are already using

Write less code by exploiting the power of declarative programming

And for the ambitious: write raytracers, monadic parser combinators, etc.

Link to comment
Share on other sites

tā ir ļoti kruta augsta līmeņa abstrakcija, ar kuru var apstrādāt dom vai vnk arrayu, izmantojot visiem labi zināmo sql :))

 

lūdzu!

ir vnkāršs paplašināts teikums

ir divdabja teiciens

bet lūdzu atsvaidzini manas lv valodas zināšanas un paskaidro, ko pavasarī ēd "apzīmētāja savrupinājuma grupa"???. es tur pagaidām ieliktu tikai palīgteikumu. būs ok? ;)

Edited by 2easy
Link to comment
Share on other sites

Es ar domāju, ka tā ši lieta ir bezjēdzīga, jo SQL pieprasījumu labums ir tad, kad tie apstrādā indeksētus datus, pie tam no visiem datiem. Tā kā ar js masīviem un DOM struktūru viņš nevar strādāt indeksēti, tad visdrīzāk strādā ar pilnu pārlasi. Un tā kā šitik lielu apstrakciju lietošanai varētu parādīties jēga tikai smagi javascriptiskās aplikācijās, tad es domāju, ka seit varētu parādīties arī zināmas js performance problēmas.

Tāpat klientam parasti nesūta visus datus, bet gan jau atlasītus datus pēc konkrēta pieprasījuma, tāpēc es personīgi neredzu praktisku jēgu jau atlasītiem datiem, vēl kaut ko mēģināt atlasīt. Lielākais, kas parasti klienta pusē ir vajadzīgs ir elementāra datu sakārtošan augošā secībā vai vēl kādi sīikumi, kurus ir elementāri realizēt ar parastu js.

Link to comment
Share on other sites

nju un to visu, ko codez izstāstīja, es arī apzīmēju ar tiem 2 vārdiem... :D

ble divdomība. es gribēju teikt, ka codez ļoti labi izskaidroja to, ko es apzīmēju ar tiem 2 vārdiem :))

 

un runājot par dom node selektu, jquery iebūvētajā xpath paveidā var lieliski atlasīt visu, ko vajag

 

kr4 šitais jsinq, līdzībās runājot, velk uz kkādas mākslīgas template valodas pusi, kur jau esošā valodā izveido vēl vienu jaunu valodu :D:D:D

Edited by 2easy
Link to comment
Share on other sites

Nu, nez, man kaut kā negribās visu uzreiz nosaukt par bezjēdzīgu. Piemēram, jsinq.Enumerable piedāvātās metodes šķiet visai interesantas.

 

Taču kā jau vienmēr - "наше дело предложить - ваше право отказатся", nevienas tehnoloģijas/paradigmas/whatever lietošana nav pašmērķis. ;)

 

P.S. http://valoda.ailab.lv/latval/pamatskolai/teikuma_mac/AN9.swf < Skat savrupinājumi ;)

Link to comment
Share on other sites

 Nepiekrītu, ka tas ir bezjēdzīgi, taču vismaz daļu no query funkcionalitātes var smuki panākt ar jQuery un CSS3 selektoriem. Pie tam, iekšējā balss man saka, ka jQuery būtu ātrāks.

 

 

Mani šajā visā pasākumā ieintriģē join iespēja.

 

 

Vienīgi jautājums, kāda ir performance šādam risinājumam vs parastām DOM manipulācijām vs jQuery?

Edited by fest
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...