Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jQuery integration #15

Closed
DartBot opened this issue Oct 10, 2011 · 15 comments
Closed

jQuery integration #15

DartBot opened this issue Oct 10, 2011 · 15 comments
Labels
closed-not-planned Closed as we don't intend to take action on the reported issue type-enhancement A request for a change that isn't a bug

Comments

@DartBot
Copy link

DartBot commented Oct 10, 2011

This issue was originally filed by [email protected]


I may be mis-understanding dart, but I would like to put in a request that Google's engineers/someone smarter than me add jQuery as a possible library.

For instance, how would I accomplish the following using dart?

<pre>
$("p").click({function(){ alert("You clicked a paragraph tag!"); });
</pre>

@DartBot
Copy link
Author

DartBot commented Oct 10, 2011

This comment was originally written by [email protected]


a Query API is already there. Please see here:
https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/client/samples/slider/SliderSample.dart

@DartBot
Copy link
Author

DartBot commented Oct 11, 2011

This comment was originally written by [email protected]


I don't think any company in the world can build a JS library better than jQuery, javascript programmers around the world dedicated 5 years of their time on jQuery for being the most user friendly javascript library.
it will be great that Dart can somehow import to it's core

@dgrove
Copy link
Contributor

dgrove commented Oct 11, 2011

Removed Type-Defect label.
Added Type-Enhancement, Area-UI labels.

@DartBot
Copy link
Author

DartBot commented Oct 11, 2011

This comment was originally written by [email protected]


Added Triaged label.

@jmesserly
Copy link

Yeah. Right now in Dart in dart this would take a loop:
for (var e in document.queryAll("p"))
  e.on.click.add((e) => window.alert("You clicked a paragraph tag!"));

You could always make a top level $ and alert functions if you want:
  $(query) => document.queryAll(query);
  alert(msg) => window.alert(msg);

The DOM APIs are a work in progress though. We want to make them as good as jQuery out of the box. For example, supporting aggregate operations on the result of queryAll

@DartBot
Copy link
Author

DartBot commented Oct 11, 2011

This comment was originally written by [email protected]


I'm really excited, if google could make this easier like jQuery. that would be great.
we are all excited about this.

are we going to have this supported built in all browsers?!

@DartBot
Copy link
Author

DartBot commented Oct 12, 2011

This comment was originally written by [email protected]


This is a poorly specified request. Mixing Dart & jQuery on the client side should be treated as a general method for mixing JavaScript & Dart. A jQuery like DOM api might be a nice addition to the Dart standard library. The requester has completely overlooked that Dart is more than a client side language, and importing jQuery would not be portable.

I think that supporting legacy JavaScript is a must, but it is not something that should be casually done without serious consideration.

For example: jQuery's functional design does not mesh well with an true OOP language. You could wrap some of the jQuery functionality in a Dart class, but passing Dart methods into jQuery event handlers could be pretty dangerous. For that to work, there would have to be a pretty clear specification for how Dart gets compiled to JavaScript. Otherwise foolish developers will start coding around the compiler implementation and not the specification.

@DartBot
Copy link
Author

DartBot commented Oct 12, 2011

This comment was originally written by [email protected]


I really agree on this with you, jQuery functional design does not mesh well with an OOP language as you said. and yes importing jQuery is not portable.

but considering jQuery's functionality implemented in Dart is a MUST.

if Dart can simulate all the features that jQuery provides and considerating simplicity and short method names with the Classical OOP pattern. it will 100% eliminate any need of any JS library or even coding pure javascript.

as we all know javascript is mostly used on DOM related web projects.
so this is a really bid deal for us.

one other piece I see remaining for dart is adding MVC module. so it can get used in large scale web applications.

@DartBot
Copy link
Author

DartBot commented Oct 15, 2011

This comment was originally written by [email protected]


FYI,

http://www.dartlang.org/articles/improving-the-dom/

@dgrove
Copy link
Contributor

dgrove commented Oct 21, 2011

It is not possible to incorporate jquery directly into Dart.

However, we are attempting to make the DOM libraries for Dart radically better, which would render this issue moot.

Please review http://www.dartlang.org/articles/improving-the-dom/ , and let us know what you think (and file issues for things that you believe we should be doing differently/better/etc).


Added WontFix label.

@DartBot
Copy link
Author

DartBot commented Oct 21, 2011

This comment was originally written by [email protected]


This sounds really good.
is it possible to get Traversing for our DOM something like this
http://api.jquery.com/category/traversing/
if we can extend Dart API to support more features that will be great

@DartBot
Copy link
Author

DartBot commented Oct 21, 2011

This comment was originally written by [email protected]


if we can have DOM methods Chainable that would be great as well

@dgrove
Copy link
Contributor

dgrove commented Oct 21, 2011

Please file these as new issues so that we can track them. thanks!

@DartBot
Copy link
Author

DartBot commented Jul 16, 2013

This comment was originally written by [email protected]


How do I make an API Call in Dart? Using Jquery, I can say $.ajax("http://www.apicall.com?q=blahblah",true). How do I do that in Dart?

@munificent
Copy link
Member

Use HttpRequest:

HttpRequest.getString("http://www.apicall.com?q=blahblah").then((response) {
  print(response);
});

See: http://api.dartlang.org/docs/releases/latest/dart_html/HttpRequest.html

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-not-planned Closed as we don't intend to take action on the reported issue type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests

5 participants