Projects tagged ‘haxe’ and ‘javascript’


Jump to tag:

Projects tagged ‘haxe’ and ‘javascript’

Filtered by Project Tags haxe javascript

Refine results Project Tags flash (9) neko (6) actionscript (5) php (3) js (2) migrations (1) hta (1) myna (1) programming (1) collections (1) framework (1) asp (1)

[12 total ]

28 Users
   

haXe is a high-level object-oriented programming language mainly focused on helping programers develop Websites and Web applications. haXe has been designed to be easily portable across several platforms.
Created over 2 years ago.

2 Users
 

A unit testing framework for haXe.
Created about 1 year ago.

0 Users

OverviewHaxle is a Signal and Slots Framework for haXe. Signal and slots frameworks are synchronous event handling systems. They work by 'linking' a given object method call (called a signal ... [More] function) to another arbitrary (slot) object method. The second object method receives all the arguments from the first object, whenever and wherever it is called in the code. Some benefits of signal/slots over conventional Event systems are: They need very little added syntax/boilerplate code They can control if slot functions happen before or after a signal function They can control the order in which slot functions are called They can modify arguments being passed between signal and slot functions They can set multiple signal declarations for the respective signal object function, and each signal in turn can be received by multiple slot objects. The main negatives are: The haXe implementation must use strong references. If objects are connected with Haxle, then they must be disconnected before the slot object can be deleted completely. There is no type checking for the linked functions. It is up to the developer to make sure that the types match for the two linked functions. In this implementation, the signal call is a bit clunky. You must specify three parameters (the current object, the current object's function, and any arguments you want to forward on), and call it from the function you want to treat as a signal: Haxle.signal(this, func1, array_of_args)(Where this is the current object, func1 is the current method, array of args is the arguments passed to the method). Unfortunately, due to runtime constraints on the different platforms, these parameters cannot be reliably extracted to use as defaults. They must be explicitly declared for each signal call. Other DetailsThis class tries to impose a minimal burden on implementation, as well as maximum flexibility in signaling methods. It works by adding an additional field (haxle_slots) at run time to any signaling class instance. The slot field is essentially a Hash of Lists (of method calls). This slot field contains a list of further object methods that should be triggered. To signal an event, a single static function call is made: Haxle.signal(this, func1, arr_values) (where this is the current object, func1 is the method, and arr_values are the arguments given to func1). The Haxle class reads in the parameters in the arguments and looks up the method name entry in the haxle_slots field. If it exists, it will call each function it finds with the arguments from arr_values (an array of values). Without a slot object method registered to the signal, nothing will happen. One must be specified explicitly using a static call. For example, say it's necessary to connect a signal function (func1) on an object (obj1) to another signal function (func2) on another object (obj2). First, you would insert a signal call from within func1 (as detailed above). Then you would connect these two functions together with: Haxle.connect(obj1, 'func1', obj2, 'func2') Somewhere in your main loop. Now, any functions called on obj1.func1() get passed on to obj2.func2() If you want to disconnect them, then you can call: Haxle.disconnect(obj1, 'func1', obj2, 'func2') Check the Demo.hx file in the source tree for a very simple example. Platform Specific IssuesSome platforms (Flash9+) do not automatically enable dynamic classes, and will throw errors at runtime if Haxle tries to access/create its haxle_slot field. To get around this, you can "implement dynamic" for your signaling class, which should enable class fields to be rewritten. Alternatively, you could also "implement HaxleStatic", and add the required slot field to your class definition explicitly. [Less]
Created 11 months ago.

0 Users

Initially a repository for a personal website/experimental use of haXe javascript but I may in future contain haXe or flash related code I wish to share.
Created 3 months ago.

0 Users

Small JavaScript framework written in haXe for haXe.
Created 3 months ago.

0 Users

A collection of haxelibs that 'unlock' various JavaScript platforms. note: no sourcecode available yet, I'm hoping to release some preview code soon. If you would like to be informed about this ... [More] release, please subscribe to the discussion group. HaXe is a great programming language that comes with a compiler that compiles your haXe source code to various other formats, one of which is JavaScript. By default, haXe assumes that this JavaScript code will run inside a webbrowser and as such, it generates code that has some dependencies of the webbrowser's native objects. This project removes these dependencies while maintaining compatibility and provides extern classes and some wrapper code to support various JavaScript platforms. It also allows other developers to write their own libraries for other JavaScript platforms. The way this is achieved is through several interdependent libraries in the haxelib format. For now, I haven't uploaded these into haxelib itself because this could create confusion as to how these libraries should be used. My hopes are that haxelib in the future will offer more options so that these libraries can be published on haxelib in a more user friendly way. On top of that, there's a work-in-progress part that makes the JavaScript output more efficient for use with todays rich web applications (AJAX). The JS source gets divided up into separate files per type and optimized for filesize (for efficient transmission to the browser) by stripping whitespace and avoiding repeated code by moving the building of the code structure to runtime. One project manages the required types clientside and gets required types from the server only when they are needed. The server groups types in a single response whenever possible to prevent having to resort to multiple requests by the browser. This allows you to develop streamlined, scalable web applications. In theory, any platform that hosts JavaScript is supported. For now, this project focuses on supporting: All modern browsers Browser extensions Bookmarklets Firefox extensions Chrome extensions Ubiquity plug-ins Desktop widgets Rhino (Java) ActiveScript (JScript, ActiveX) ASP HTA WSC GLUEscript JSDB (which also offers ActiveX) JSLibs And later on, also: Using Rhino Myna HelmaNG EX4D Persevere Nitro Google Web Toolkit V8CGI ESXX Aptana Jaxer JSFL (for scripting Flash Designer) Photoshop If you know of more interesting platforms that offer JavaScript hosting, please let me know. [Less]
Created about 1 month ago.

0 Users

Plotex is a cross-platform very light-weight drawing api for Haxe witch targets flash (6-9) and java script (via Html Canvas). Canvas drawings works on all major browsers (great on Firefox and Safari ... [More] , pretty good on IE (with google excanvas) and Opera). The Goal of the project is to provide simple and very light-weight api which can be compiled to flash and java script and the results look identical on all supported platforms. [Less]
Created 12 months ago.

0 Users

The collections framework for representing and manipulating collections - more later
Created 12 months ago.

0 Users

CrossProcessing is a Processing API, parser, and evaluator available for Flash and JavaScript (using the Canvas API). CrossProcessing is developed in !haXe. Alpha coming soon!
Created 9 months ago.

0 Users

This library enables communication between the wii opera browser and a haXe written flash application js to swf communication work is based on the great Mario Klingemann hack: http://www.quasimondo.com/archives/000638.php
Created 12 months ago.