Typescript annotations to JsInterop java classes automatic generation tool ready

2017-09-28 Thread Ltearno
Hi everyone,

I made up and published today a tool which uses Typescript type definitions 
(.d.ts) and generates the corresponding JsInterop classes for use inside a 
GWT application (or JaCL when available).

The tool is here : https://github.com/ltearno/typescript2java

I use it to translate the full Angular 4 API (2000+ classes) into JsInterop 
and get a working code. It can also generate the standard web api from 
'lib.es6.d.ts' and generate something that ressembles Elemental2 a lot!

I am interested to help if people want to use it or have some other use 
cases (wrapping D3.js or any other library available on 'definitely 
typed'). So don't hesitate to file an issue on github... Or to answer here!

Thanks
Arnaud

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


DataBinding library for Java and GWT

2015-05-18 Thread Ltearno
Hi all,

I would like to introduce a new project i just released. It is a 
non-intrusive library doing data binding for Java and GWT (it might 
probably also work with Android and J2Objc but i did not test it in those 
environments yet).

It uses deferred binding to declare classes which need instrumentation on 
GWT. And it uses Java reflection when run in a standard JVM.

There is also an annotation processor to generate observable classes out of 
normal Java POJOs (although integrating your POJOs with the binding system 
only involves adding a call to the Property.notify(...) method in your 
setters).

I think some interresting points about the library are :

 - it supports path to properties. One can specify the binding source or 
destination starting from an object and walking a path. For example you can 
specify *bind( person, employer.address.city )* and the data binding 
library will walk the objects to find the target value (it will also 
subscribe on each walked property to detect changes).
 - it has a debug / log feature where you can inspect what happens inside a 
binding. This is cool when things go wrong and allow to detect problems 
really easily
 - it has virtual properties, which allow to enhance existing classes 
without touching them. For example one can easily attach a selected 
property to an ArrayList instance to manage the currently selected item 
directly on the list.
 - it has a statistics method which allow to check that your application 
does not leak resources
 - it does not bind you to Editor framework or anything else
 - it has been carefully optimized so that it does not add a significant 
overhead.
 - it can work with JavaScriptObject, allowing for example to bind a text 
value *.to( widget, element.style.backgroundColor )*;
 - it is already used in production applications, so it's ready for you to 
use. That's why i am releasing it...
 - it is available on maven central, so easy to try out !
 - it has a method to dynamically detect similar objects fields between two 
objects and bind them automatically (it is very useful to auto bind a POJO 
to a view in one line of code, your view does not even have to know about 
the POJO class - it just needs to have the same field names, hence 
increasing the potential reuse of each view !).
 - there are samples applications code available and a quick start user 
guide on the github page.
 - there are other points but i think those ones are the most important

I'd like to ask you if you please have remarks or so. If you try it, please 
feel free to post comments or pull requests.

Here is the link :
https://github.com/ltearno/hexa.tools/blob/master/hexa.binding/README.md

Thanks !

Arnaud Tournier
http://www.lteconsulting.fr

-- 
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: LESS/ SASS/... style usage in GWT ?

2015-04-20 Thread Ltearno
With HexaCss http://lteconsulting.fr/hexacss/ for GWT, you can use Sass, 
Less, Susy, Foundation, Bootstrap and so on. For the programmer you use it 
the same kind of way as CssResource/ClientBundle, but then you bind your 
application to external CSS files, and thus can use any CSS Framework. You 
should have a try !

This is what i use to quickly wrap an existing CSS Framework (bootstrap, 
skeleton, ...) or to use my own Less or Sass or GSS stylesheet.

Thanks

Arnaud Tournier
twitter : @ltearno

Le vendredi 14 juin 2013 15:23:43 UTC+2, Ed a écrit :

 Hi,
 I am curious how people use LESS/SASS/... etc.. in GWT i.c.m. GWT 
 Clientbundle mechanism?
 I looking into using this (never did before).
 Please share your experience? (setup, css parsing, experience, )



-- 
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: How to dynamically load css style in GWT-based application

2015-04-09 Thread Ltearno
Hi !

The tool HexaCss for GWT answers exactly your needs (as i understand them).

With it you can produce several CSS files for the same GWT application (and 
still using them in a type-safe way, like with CssResource) and you can 
then change them dynamically without reloading the application.

Here is the link to the tool (open source on github)
http://www.lteconsulting.fr/hexacss/

I hope this helps you !

Thanks
Arnaud

Le mercredi 12 décembre 2007 10:22:59 UTC+1, yadong a écrit :

 I am working on an web application in which the css style varies based 
 on different user, I am curious how to load css file dynamically. 
 Currently we use JSTL tag to access server side parameter to determine 
 which css file needs to be used.

-- 
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


New library to integrate any CSS framework with GWT

2015-04-01 Thread Ltearno
Hello Everyone,

I come up here to let you know about a library i build, aiming at* 
integrating efficiently any CSS framework with GWT*.

This allows your application to type-safely use *Sass, Less, Susy, GSS, 
vanilla css or any other*.

From the developper point of view, it *works almost the same way as 
CssResource* which is the default in GWT.

Link : http://www.lteconsulting.fr/hexacss/

Benefits :

 - you can use *any css framework* and not only GSS (especially Sass and 
Less have a very good variable and mixin systems)
 - you can bind* multiple CSS files to one GWT application*. This allows 
you to theme your application in a very effective way
 - you can then *switch your application theme dynamically* without 
reloading the application
 - there is *still optimization happening* : non used CSS classes will be 
pruned. Also there is name obfuscation, for reducing CSS file size
 - the *API is very similar to CssResource* so you don't have much to learn 
to use it.

The product page is here : http://www.lteconsulting.fr/hexacss/
The product page tells you how to use it, how to build it. It has three use 
case demos.
The project is hosted on github : https://www.github.com/ltearno/hexa.tools

Of course, it is open source and will stay so !

Stay tuned, because i have other announcements to make soon

Please tell me if you find the idea interesting and if it might help you. I 
also very much welcome anyone wishing to contribute to this project !

Thanks

Arnaud Tournier
www.lteconsulting.fr
twitter : @ltearno

-- 
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Why Table Layout in GWT?

2014-12-09 Thread Ltearno
Sometimes table layout is just the only option...

If you are really annoyed seeing table elements, you can use a div with a 
display attribute to table for example... ( div style=display:table )



Le mardi 9 décembre 2014 10:35:59 UTC+1, Thomas Broyer a écrit :



 On Tuesday, December 9, 2014 8:20:41 AM UTC+1, Mohammed Sameen wrote:

 Hi,
  Why *table *layout is used in GWT?Why not *div *layout?


 Only old widgets use table layout, and they do so because at the time 
 they were written (years ago) it was the only reliable way of laying out 
 things cross-browser.
 Newer widgets don't use table layout.
 I'd go as far as saying that if you use a widget that relies on table 
 layout today, You're Doing It Wrong™. Modern GWT apps should rely mostly 
 on FlowPanel and HTMLPanel (and the various layout panels for complex 
 layouts), you shouldn't need HorizontalPanel, VerticalPanel and the like.


-- 
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWT seems deprecated according to Thoughtworks

2014-08-12 Thread Ltearno
I am also quite deceived by the fake-arguments from M. Fowler... As a user of 
GWT since 1.6, i can say that i would not have acheived all the applications i 
wrote by writing pure Javascript. Neither would i be able to write big native 
applications by writing pure assembler (even macros would not help much in that 
case ;))

Of course, as with any technology, there are caveats, and weak points - and as 
always, to gain mastery over the tool, one has to know very well the platform 
it is build to run on (in that cas the browser - and i had never advocated that 
by using GWT you would not need to know the Web platform and JavaScript).

But providing a typed language, the IDE debugging and developping tooling is 
just too precious to build complex big applications !

Of course, before beginning a project, one has to carefully choose the tools to 
work with, by having the long-term vision about the result one wants to obtain. 
I would not build a static web page with GWT, neither a simple web form (the 
kind of problematics Angular demonstrations are working on). When i use GWT, it 
is often to build complex applications - those i would have written 10 years 
ago with C++ natively on Windows.

For me GWT is a perfect match for many projects i work on.

What should be improved IMHO in GWT are those points (not exhaustive...) :

- supporting other languages (C#, Clojure, Scala ...), leveraging the compiler 
(which should be more modular i think),
- invest a lot in SDBG, the tool to debug with the same experience as with 
DevMode

Thanks for the discussion ;)

Arnaud Tournier
LTE Consulting

-- 
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


JPA for GWT

2013-11-27 Thread Ltearno
Hi everybody,

I am planning to implement a fully compliant JPA library for GWT. But 
before i do so, i need to first know whether people would be interested by 
such a project.

So here is a survey that i ask you to fill, it will help me to focus on 
most important features first.

http://www.lteconsulting.fr/jpa-for-gwt.html

Thank you all !
Arnaud Tournier
http://www.lteconsulting.fr

-- 
You received this message because you are subscribed to the Google Groups 
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Internal compiler error when upgrading vom 2.0.4 to 2.1.0.RC1

2010-11-27 Thread Ltearno
Thank you so much i would have not thought of that !
U saved me !!!

On 20 oct, 15:45, wolfgang wor@gmail.com wrote:
 solved the problem. I changed the order in java build path (order and
 export), so that GWT SDK is now on Top.
 everything compiles without exception.

 On 15 Okt., 12:02, wolfgang wor@gmail.com wrote:

  Sorry for posting this twice - haven't found the first post so I
  assumed it got lost somewhere.

  On 15 Okt., 11:58, wolfgang wor@gmail.com wrote:

   I got thiserrormessage from thecompilerwhen I tried an upgrade
   from 2.0.4 to 2.1.0.RC1:

    [ERROR]  Internalcompilererror
   java.lang.NoSuchMethodError:
   com.google.gwt.uibinder.rebind.UiBinderWriter.init(Lcom/google/gwt/
   core/ext/typeinfo/JClassType;Ljava/lang/String;Ljava/lang/String;Lcom/
   google/gwt/core/ext/typeinfo/TypeOracle;Lcom/google/gwt/uibinder/
   rebind/MortalLogger;Lcom/google/gwt/uibinder/rebind/FieldManager;Lcom/
   google/gwt/uibinder/rebind/messages/MessagesWriter;Lcom/google/gwt/
   uibinder/rebind/DesignTimeUtils;Lcom/google/gwt/uibinder/rebind/
   UiBinderContext;)V
           at
   com.google.gwt.uibinder.rebind.UiBinderGenerator.generateOnce(UiBinderGenerator.java:
   135)
           at
   com.google.gwt.uibinder.rebind.UiBinderGenerator.generate(UiBinderGenerator.java:
   119)
           at
   com.google.gwt.dev.javac.StandardGeneratorContext.runGenerator(StandardGeneratorContext.java:
   427)
           at
   com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:
   39)
           at com.google.gwt.dev.shell.StandardRebindOracle
   $Rebinder.tryRebind(StandardRebindOracle.java:115)
           at com.google.gwt.dev.shell.StandardRebindOracle
   $Rebinder.rebind(StandardRebindOracle.java:58)
           at
   com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:
   161)
           at
   com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:
   150)
           at com.google.gwt.dev.Precompile
   $DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(Precompile.java:
   345)
           at
   com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesUsingRebinds(WebModeCompilerFrontEnd.java:
   106)
           at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox
   $CompilerImpl.process(AbstractCompiler.java:254)
           at 
   org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:
   444)
           at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox
   $CompilerImpl.compile(AbstractCompiler.java:175)
           at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox
   $CompilerImpl.compile(AbstractCompiler.java:288)
           at 
   com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access
   $400(AbstractCompiler.java:145)
           at
   com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompiler.java:
   632)
           at
   com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUnitDeclarations(BasicWebModeCompiler.java:
   124)
           at
   com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilationUnitDeclarations(WebModeCompilerFrontEnd.java:
   54)
           at
   com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:
   484)
           at
   com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:
   32)
           at com.google.gwt.dev.Precompile.precompile(Precompile.java:544)
           at com.google.gwt.dev.Precompile.precompile(Precompile.java:465)
           at com.google.gwt.dev.Compiler.run(Compiler.java:205)
           at com.google.gwt.dev.Compiler.run(Compiler.java:177)
           at com.google.gwt.dev.Compiler$1.run(Compiler.java:149)
           at 
   com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:
   87)
           at
   com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:
   81)
           at com.google.gwt.dev.Compiler.main(Compiler.java:156)

   [ERROR] Unexpected
   java.lang.NoSuchMethodError:
   com.google.gwt.uibinder.rebind.UiBinderWriter.init(Lcom/google/gwt/
   core/ext/typeinfo/JClassType;Ljava/lang/String;Ljava/lang/String;Lcom/
   google/gwt/core/ext/typeinfo/TypeOracle;Lcom/google/gwt/uibinder/
   rebind/MortalLogger;Lcom/google/gwt/uibinder/rebind/FieldManager;Lcom/
   google/gwt/uibinder/rebind/messages/MessagesWriter;Lcom/google/gwt/
   uibinder/rebind/DesignTimeUtils;Lcom/google/gwt/uibinder/rebind/
   UiBinderContext;)V
           at
   com.google.gwt.uibinder.rebind.UiBinderGenerator.generateOnce(UiBinderGenerator.java:
   135)
           at
   com.google.gwt.uibinder.rebind.UiBinderGenerator.generate(UiBinderGenerator.java:
   119)
           at
   com.google.gwt.dev.javac.StandardGeneratorContext.runGenerator(StandardGeneratorContext.java:
   427)
           at
   com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:
   39)
           at com.google.gwt.dev.shell.StandardRebindOracle