Git Product home page Git Product logo

ifml-editor's Introduction

IFML Editor

The open source Eclipse editor for IFML (Interaction Flow Modeling Language).

The editor is based on Sirius an Eclipse project to facilitate the creation of modeling editors.

Using the tool

Instructions on how to install and get started with the tool are available in the tool web page

Projects

  • IFMLEditor: project with model and model sources.
    • Folder “Model”: contains the .ecore and the .genmodel.
  • IFMLEditor.edit : project with the generated edit code.
  • IFMLEditor.editor: project with the generated editor code.
  • IFMLEditorDesign: project with the editor design
    • Folder “description”: IFML.odesign file which specifies the editor
    • Source Folder “templates” inside the src folder: helper.mtl file, which specifies some queries, used by the IFML.odesign.

Remarks

  • In order to avoid problems due to the existence of elements with the same name in other metamodels the following elements were renamed only for the Editor:
        - Action --> IFML Action
        - Menu --> IFMLMenu
        - Slot --> IFMLSlot
        - Parameter --> IFMLParameter
        - Window --> IFMLWindow
        - Port --> IFMLPort
        - Module --> IFMLModule
  • In order to generate a unique identifier for each element the ElementImpl.java class in the package IFML.Core.impl in the Model Project was modified:
        - inserting the following line in the ElementImpl Constructor
          id=EcoreUtil.generateUUID(); 
        - marking the constructor @generated NOT
        - changing the variable ID_EDEFAULT value from null to "":
          protected static final String ID_DEFAULT = ""

Authors

IFML Editor is the result of a collaboration between WebRatio, Politecnico di Milano and the INRIA research team AtlanMod.

ifml-editor's People

Contributors

hamzaed avatar jcabot avatar stefaniapezzetti-webratio avatar umuhoza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ifml-editor's Issues

Cannot complete the install because one or more required items could not be found.

Hi

I'm trying to install the IFML plugin, but am getting the following error:

Cannot complete the install because one or more required items could not be found.
Software being installed: IFML editor 1.0.0.201412021412 (org.ifml.editor.feature.feature.group 1.0.0.201412021412)
Missing requirement: Sirius Core Runtime 1.0.0.201406040902 (org.eclipse.sirius 1.0.0.201406040902) requires 'bundle org.eclipse.gmf.runtime.emf.core 1.4.1' but it could not be found
Cannot satisfy dependency:
From: IFML editor 1.0.0.201412021412 (org.ifml.editor.feature.feature.group 1.0.0.201412021412)
To: org.eclipse.sirius 0.0.0

How can i fix this?

Thanks

".core does not exist"

Hi

I am following the steps as described on http://ifml.github.io/, using a fresh installation of Eclipse modeling Luna.

Everytime, when I go to create the .core file, I get an error in Eclipse - see attached image.

workspace 1_044

I have reproduced this on two separate computers, both with a new installation of Luna Eclipse modelling.

Valid example request

Hello!

I have been trying out this neat editor for some time now, but I cannot create a diagram which passes the tool's validation (Right click > Validate diagram).

I have tried out the example movie IFML, but the editor says it has 20 errors. I have tried to resolve them manually, but at some point I could not figure out how to advance (not even with the help of the IFML standard PDF from OMG's website).

I have also tried to create a very simple IFML from scratch (two Windows and a ParameterBinding in between them), but when I added the ParameterBinding between the Windows, I could not resolve the validator's error messages.

Could you please provide a fully valid example (or modify the movies example to pass validation)? It would really help me!

Thank you in advance.

Akos

IFML events on menu aren't allowed

I'm trying to add events to menu but eclipse ifml editor doesn't allow any on viewContainers and its extensions. But in the ifml specs Gmail example, they showed events on menu.
Can anybody suggest how to resolve this issue?

DSL evaluation for IFML - please take a look

Hello, greetings from the software engineering group from Beihang University, China. We have been working on the evaluation of Domain Specific Modeling Languages (DSMLs ), the main purpose is to find out the flaws of the design of the DSML. To test our evaluation framework, we evaluated your software design, mainly based on your ecore and odesign files, and found out that even though the overall quality of your software design is very good, there still exists some minor problems. The details are as follows:

rule-based evaluation

Firstly, we did some rule-based evaluation, mainly focusing on the graphic part.

Evaluation of Semiotic Clarity

We've checked your odesign file according to Goodman's theory of symbols[Goodman N. Languages of Art: An Approach to a Theory of Symbols[M]. Hackett publishing, Indianapolis, 1976.], and there are some minor problems that can decrease the semiotic clarity of your design as follows:

  1. Deficit Elements

    There are some elements in your design that are not represented by any graphic symbols.

    Certainly, we know that some elements do not need to be assigned symbols to, but we believe it is best to check whether these elements really do not need symbols or they were just overlooked.

    • Direction
    • SystemEventType
    • ContextVariableScope
    • InteractionFlowExpression
    • DomainModel
    • NamedElement
    • ContentBinding
    • DynamicBehavior
    • Viewpoint
    • ContextDimension
    • BooleanExpression
    • InteractionFlowElement
    • Constraint
    • ConditionalExpression
    • InteractionFlowModelElement
    • ModularizationElement
    • BPMNActivityConcept
    • ContextVariable
    • SimpleContextVariable
    • DataContextVariable
    • DomainConcept
    • FeatureConcept
    • BehaviorConcept
    • BehavioralFeatureConcept
    • UMLBehavior
    • UMLBehavioralFeature
    • UMLDomainConcept
    • UMLStructuralFeature
    • ActivityConcept
    • DomainElement
    • ValidationRule
    • Position
    • UserRole
    • Device

Evaluation of Symbol Similarity

We believe that overly similar symbols are not conducive to users' understanding and use of language. Therefore, we use image features such as SSIM to detect the similarity between the symbols you use. Below are some pairs of symbols that may be too similar:

  1. ifml-editor\plugins\IFMLEditorDesign\img\icons\activation_expression_obj.png & ifml-editor\plugins\IFMLEditorDesign\img\icons\output_port_obj.png
  2. ifml-editor\plugins\IFMLEditorDesign\img\icons\activation_expression_obj.png & ifml-editor\plugins\IFMLEditorDesign\img\icons\module_obj.png
  3. ifml-editor\plugins\IFMLEditorDesign\img\icons\output_port_obj.png & ifml-editor\plugins\IFMLEditorDesign\img\icons\port_obj.png
    similar symbols-1

LLMS-based evaluation

Secondly, we did some LLMS-based evaluation, mainly focusing on the model part. Generally speaking, we try to make LLM act as a domain expert to provide multidimensional evaluations of your language design.

Model Completeness

We give your ecore design to LLM and ask the LLM to guess which domain your language is designed for. And then we ask LLM to add possible missing elements to your language (perhaps not taken into account in the first version of the design, but can be considered for inclusion in future versions). The results are as follows:

These metamodels belong to the field of Interactive Front End Modeling Language (IFML), with a particular focus on the design of user interfaces and the interaction between users and applications. IFML helps describe the views of an application and the interaction processes between these views, as well as the events and system operations triggered by users. This model language is crucial for detailed design of user interfaces and application usability.

Other key meta models:

Element:

ViewPattern: name;
InputField: isRequired; ValidationRule;
OutputField:
NavigationBar:
Footer:
Leader:
ModalDialogue: isDisassible;
Breadcrumb:
TabView:
Carousel:
DropdownMenu:

Relationship:

ViewContainer (1)<- header ->Header (1)
ViewContainer (1)<- root ->Footer (1)
ViewContainer (1)<- navigationBar ->NavigationBar (1)
Form (1)<- inputFields ->InputField (n)
Form (1)<- submitEvent ->OnSubmitEvent (1)
InputField (1)<- validationRules ->validationRule (n)
ViewComponent (1)<- outputFields ->OutputField (n)
ModalDialogue (1)<- triggeredByEvent ->Event (1)
ViewContainer (1)<- modal Dialogues ->ModalDialogue (n)
Breadcrumb (1)<- navigationFlow ->NavigationFlow (n)
TabView (1)<- tabs ->ViewContainer (n)
Carousel (1)<- items ->ViewComponentPart (n)
DropdownMenu (1)<- menuItems ->ViewComponent (n)

These supplementary meta models and relationships help to more comprehensively describe and model complex interaction designs, especially for highly interactive web and mobile applications. By using richer view components such as modal dialog boxes, navigation bars, footers, and headers, navigation elements such as breadcrumbs, label views, and drop-down menus, as well as input and output fields, the layout and functionality of the interface can be more finely planned, providing a better interactive experience for end-users.

We are not sure if these issues actually constitute a problem, the decision to fix them or not is still up to your team, looing forward to your respond, thanks!

Acceleo integration

Hi,

great work with the tool!

I am struggling to generate code from IFML.

Steps I have done:

  1. First eclipse instance with IMFLEditor, IMFLEditor.edit, IMFLEditor.editor
  2. Right click on IMFLEditor -> Run as Eclipse application
  3. Second instance gets started, I import IFMLEditorDesign there
  4. I am creating a new Acceleo project, it has compile problems with:
        if (!isInWorkspace(IFML.Core.CorePackage.class)) {
            resourceSet.getPackageRegistry().put(IFML.Core.CorePackage.eINSTANCE.getNsURI(), IFML.Core.CorePackage.eINSTANCE);
        }
        if (!isInWorkspace(IFML.Extensions.ExtensionsPackage.class)) {
            resourceSet.getPackageRegistry().put(IFML.Extensions.ExtensionsPackage.eINSTANCE.getNsURI(), IFML.Extensions.ExtensionsPackage.eINSTANCE);
        }

I figured that I need the sources from IFMLEditor (IFML.Core with all subpackages) so I have imported the project IFMLEditor and added it to the biuld path. The compile problems are gone, but there is a new issue. After that it has probles in helper.mtl, exacly as described in #13.

Could you please help me out? What I am doing wrong?

Second problem is that I dont have the IFML Viewport available if I start it as second instance. It worked fine with installed plugin.

I can't create a new IFMLDiagram

I can't see the item "New Representation" when I right-click on the "IFML Model Movies" of the example

screenshot

I am using Eclipse Java EE IDE for Web Developers, Luna Service Release 2 (4.4.2)

Generating code

Now that I have the IFML Editor working I would like to generate code like Java Swing or HTML using it using Acceleo. Where can I find the model templates? Because the Acceleo plugin is not working on Eclipse Luna I have to use the Standalone Java Application Runner but I am not sure how to register the metamodel. I am using the example movie.core model and keep getting the following:

Exception in thread "main" org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.PackageNotFoundException: Package with uri 'http://www.omg.org/spec/20130218/core' not found. (file:/C:/Development/IDE/Eclipse/UMLDesigner/workspace/org.ifml.sample/models/movie.core, 2, 264)

Feature request: support for ecore and xcore

Hi

It would be great if, as well as supporting UML, IFML-Editor also supported working with Ecore and Xcore -as these formats are widely used in the Eclipse development community.

Br

Error when adding new element to designer

Hello

When trying to add any new item to the IFML graphical designer, I get the following error:

eclipse.buildId=4.4.2.M20150204-1700
java.version=1.7.0_76
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.modeling.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product

This is a continuation of log file /home/anton/workspaces/magick.modelgen/.metadata/.bak_0.log
Created Time: 2015-03-21 01:08:42.371

org.eclipse.sirius.common.acceleo.mtl
Error
Sat Mar 21 15:21:56 CET 2015
Argument types mismatch for module element dynamicModuleQuery5.

org.eclipse.acceleo.engine.AcceleoEvaluationException: Argument types mismatch for module element dynamicModuleQuery5.
at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvaluate(AcceleoEngine.java:401)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate(AcceleoEngine.java:203)
at org.eclipse.acceleo.engine.service.AcceleoEvaluationTask.evaluateQuery(AcceleoEvaluationTask.java:122)
at org.eclipse.acceleo.engine.service.AcceleoEvaluationTask.call(AcceleoEvaluationTask.java:291)
at org.eclipse.sirius.common.acceleo.mtl.business.internal.interpreter.DynamicAcceleoModule.evaluate(DynamicAcceleoModule.java:531)
at org.eclipse.sirius.common.acceleo.mtl.business.internal.interpreter.AcceleoMTLInterpreter.internalEvaluate(AcceleoMTLInterpreter.java:1182)
at org.eclipse.sirius.common.acceleo.mtl.business.internal.interpreter.AcceleoMTLInterpreter.evaluateBoolean(AcceleoMTLInterpreter.java:614)
at org.eclipse.sirius.tools.internal.interpreter.ODesignGenericInterpreter.evaluateBoolean(ODesignGenericInterpreter.java:162)
at org.eclipse.sirius.business.internal.logger.RuntimeLoggerInterpreterImpl.evaluateBoolean(RuntimeLoggerInterpreterImpl.java:86)
at org.eclipse.sirius.business.internal.helper.task.operations.SwitchTask.execute(SwitchTask.java:91)
at org.eclipse.sirius.business.internal.helper.task.ExecuteToolOperationTask.executeTask(ExecuteToolOperationTask.java:103)
at org.eclipse.sirius.business.internal.helper.task.ExecuteToolOperationTask.execute(ExecuteToolOperationTask.java:88)
at org.eclipse.sirius.business.api.helper.task.TaskExecutor.operation(TaskExecutor.java:95)
at org.eclipse.sirius.business.api.helper.task.TaskExecutor.execute(TaskExecutor.java:65)
at org.eclipse.sirius.tools.api.command.SiriusCommand.doExecute(SiriusCommand.java:80)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
at org.eclipse.sirius.diagram.ui.tools.api.command.GMFCommandWrapper.doExecuteWithResult(GMFCommandWrapper.java:103)
at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.gmf.runtime.common.core.command.CompositeCommand.doExecuteWithResult(CompositeCommand.java:403)
at org.eclipse.gmf.runtime.common.core.command.AbstractCommand.execute(AbstractCommand.java:134)
at org.eclipse.gmf.runtime.common.core.command.CompositeCommand.doExecuteWithResult(CompositeCommand.java:403)
at org.eclipse.gmf.runtime.common.core.command.AbstractCommand.execute(AbstractCommand.java:134)
at org.eclipse.gmf.runtime.common.core.command.CompositeCommand.doExecuteWithResult(CompositeCommand.java:403)
at org.eclipse.gmf.runtime.common.core.command.AbstractCommand.execute(AbstractCommand.java:134)
at org.eclipse.sirius.diagram.ui.tools.internal.commands.WrappingCommandIgnoringAffectedFiles.execute(WrappingCommandIgnoringAffectedFiles.java:124)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:513)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramCommandStack.execute(DDiagramCommandStack.java:75)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramCommandStack.execute(DDiagramCommandStack.java:57)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramCommandStack.execute(DiagramCommandStack.java:156)
at org.eclipse.gef.tools.AbstractTool.executeCommand(AbstractTool.java:425)
at org.eclipse.gef.tools.AbstractTool.executeCurrentCommand(AbstractTool.java:438)
at org.eclipse.gef.tools.CreationTool.performCreation(CreationTool.java:269)
at org.eclipse.gef.tools.CreationTool.handleButtonUp(CreationTool.java:189)
at org.eclipse.gef.tools.AbstractTool.mouseUp(AbstractTool.java:1200)
at org.eclipse.gef.EditDomain.mouseUp(EditDomain.java:301)
at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseReleased(DomainEventDispatcher.java:380)
at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseUp(LightweightSystem.java:548)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3799)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3409)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

Contributing to the project

Hello!

(Thank you very much for your super fast previous reply! I have updated the plugin and there are no more errors during the validation.)

Although I have encountered another issue: I would like to create a Code Generator for the IFML editor (for example an Android app generator) so I imported the plugin projects to an Eclipse (with Modeling tools) and installed Acceleo 3.5 plugin on it (because of the EditorDesign project).

However if I launch the Runtime Eclipse and import the Movie example, the IFML representation is a bit faulty (it still passes the tool's validation mechanism):

ifmltool

In the Host Eclipse the IFMLEditorDesign project shows some (precisely two) errors in the "helper.mtl" Acceleo file:

host-acceleo-error

I have looked up the Ecore metamodel and the IFMLParameter class' type attribute does have a name property, although the UMLStructuralFeature class' structuralFeature field does not have a type (if I am not mistaken). The IFML editor itself (from the update site) works perfectly, so I have no idea what am I doing wrong (unfortuanetly I have no experience with Acceleo).

Can these two problems correlate with eachother? Am I missing some plugin dependency (Fresh Eclipse Modeling Tools + Acceleo 3.5 from MarketPlace)?

Thank you in advance!

Akos

Add metamodels in the Diagram Description

Hi,

I was playing a bit with the editor and I notice that the metamodels are not added in the odesign in the Diagram Description (Take a look at the attached figure). This is not mandatory in Sirius, but I think that it is a good practice.

Congrats! It is a very nice editor.

Kind regards,
Antonio

meta-models-ifml-odesign

Trouble getting started

with http://ifml.github.io

Hello everyone at ifml editor project,
I upgraded to Luna modeling tools and followed the tutorial. But when I try to create movies.core, I encounter a problem :
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.core.internal.resources.ResourceException: Resource '/org.ifml.sample/Models/movies.core' does not exist.
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:406)
at IFML.Core.presentation.CoreEditor.createModel(CoreEditor.java:925)
at IFML.Core.presentation.CoreEditor.createPages(CoreEditor.java:982)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:362)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:141)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:327)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:888)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:869)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:120)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:337)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:258)
[...]
I don't really uderstand what this movies.core is supposed to be. But I found one (https://github.com/ifml/ifml-editor/tree/master/examples/org.ifml.sample/models) that I imported instead of creating it.
But then I don't find any proposition in the "viewpoints".
I am sorry, it's been many days. I tried many times. Like I said I reinstalled Eclipse just to try this editor, from scratch. The ifml editor software is installed or at least is said to be when I try to do it again.
I must confess I am not familiar with EMF and Sirius.

Best regards,
BG

The IFML Diagram does not come up when using provided sample.

I installed the tool as instructed in http://ifml.github.io/ in the latest version of eclipse, Eclipse Version: Mars Release (4.5.0).
I could follow the sample upto the last instruction. The only problem is that no diagram shows up.
As you can see from the attached screenshot, the project shows up properly in the Model Explorer, but no diagram is drawn in the 'new IFMLDiagram'.
screenshot-eclipse

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.