Skip to content

Instantly share code, notes, and snippets.

Last active October 27, 2023 21:16
  • Star 5 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Final snippets for "How to use JavaScript libraries in your Dart applications" article
// web/console.dart
library console;
import 'package:js/js.dart';
external void log(dynamic str);
<!-- web/index.html -->
<!DOCTYPE html>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="scaffolded-by" content="">
<link rel="icon" href="favicon.ico">
<!-- JS dependency pulled here -->
<script defer src=""></script>
<script defer src="main.dart.js"></script>
<div id="output"></div>
// web/jquery.dart
library jquery;
import 'package:js/js.dart';
class jQuery {
external factory jQuery(String selector);
external int get length;
external jQuery css(CssOptions options);
external jQuery animate(AnimateOptions options);
class CssOptions {
external factory CssOptions({backgroundColor, height, position, width});
external dynamic get backgroundColor; // properties based on jQuery api
external dynamic get height;
external dynamic get position;
external dynamic get width;
class AnimateOptions {
external factory AnimateOptions({left, top});
external dynamic get left; // properties based on jQuery api
external dynamic get top;
// web/main.dart
import './console.dart';
import './jquery.dart';
void main() {
log('Hello world!');
backgroundColor: 'green',
height: 100,
position: 'relative',
width: 100))
.animate(AnimateOptions(left: 100, top: 100));
# ./pubspec.yaml
name: dart_js_interop
description: A demonstration on how to use JavaScript libraries a Dart web application
sdk: '>=2.0.0-dev.68.0 <3.0.0'
js: ^0.6.0
build_runner: ^0.9.0
build_web_compilers: ^0.4.0
Copy link

Read the full article here.

Copy link

heinzan commented Jun 18, 2020

Hi.I have local js file just encode and decode function how use that functions from flutter.
Eg. function encrypt(plaintext, password) {
var v = new Array(2), k = new Array(4), s = "", i;

  plaintext = escape(plaintext);  // use escape() so only have single-byte chars to encode

  // build key directly from 1st 16 chars of password
  for (var i=0; i<4; i++) k[i] = Str4ToLong(password.slice(i*4,(i+1)*4));

  for (i=0; i<plaintext.length; i+=8) {  // encode plaintext into s in 64-bit (8 char) blocks
    v[0] = Str4ToLong(plaintext.slice(i,i+4));  // ... note this is 'electronic codebook' mode
    v[1] = Str4ToLong(plaintext.slice(i+4,i+8));
    code(v, k);
    s += LongToStr4(v[0]) + LongToStr4(v[1]);

  return escCtrlCh(s);
  // note: if plaintext or password are passed as string objects, rather than strings, this
  // function will throw an 'Object doesn't support this property or method' error

this is a function.I can use in android with using rhino library and how use in dart.Please point me.bro thanks

Copy link

Please post your question here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment