codedance / silken Goto Github PK
View Code? Open in Web Editor NEWSilken wraps Google Closure Templates in a managed servlet environment simplifying push-MVC development.
Silken wraps Google Closure Templates in a managed servlet environment simplifying push-MVC development.
If you don't create /templates/shared and /WEB-INF/templates/shared folders in your project then you will get a NullPointerException due to WebAppFileSetResolver not protecting against a null response from servletContext.getResourcePaths(path.toString()) in listResourcesFromWebDir.
Great project! Is there support for using this with Closure Library? I noticed the generated JS doesn't have the Closure Library namespaces at the tops of the files, which are necessary for use with the dependency framework of Closure Library.
Also, I don't believe the Closure Compiler can resolve dependencies / minify Javascript if it is served from a URL instead of being on disk.
I noticed in the code there is a TODO for allowing JS complication options to be passed in. I think this would take care of the first part of this issue. There should also be an option / management URL to write the JS files to the host server's disk for complication with the Google Compiler.
I can start hacking on these issues to fit my needs but I wanted to get your thoughts first. Let me know what you think...
Dylan
Hi,
I'm using the Silken in my application running on the Google App Engine (GAE). I built the app with using HTMLEASY and Silken and I was very happy with that.
Now I have a big problem. I'm trying to update my app, but your latest silken version (silken-2013-03-05.jar) is depending on the soy-2012-12-21, but the soy is depending on the Guava v16.
The problem is that some latest GAE SDK classes depends on newer version of Guava (v17+) so I cannot longer run the silken on the GAE because of dependency conflicts. I was searching a lot on google/stackowerflow and found some informations that the both versions of Guava (16 and 17) doesnt work together.
Please, would it be possible to update Silken so it uses the latest Soy library (v soy-2015-04-10) which depends on the latest Guava as well as the GAE classes?
Thanks a lot!
Filip.
Would it be possible to add support for Delegate Templates so as to be able to specify the Package name(s) and call the setActiveDelegatePackageNames method?
When silken.disableCaching is set to true, we should turn off client-side javascript caching to make development when using closure client-side templates.
At the moment caching is set at 30-days. In affect this is "forever" and any dev must use cache busting methods (which silken supports) to ensure clients get a new version. I suggest we target 1 year which is the max outlined in the RFC: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
I don't know if this the right channel to ask this question, but as I could not find a dedicated forum I will do it anyway :-)
As I can read on the github page Silken is used in production.
I wonder if you did any benchmarking with the servlet container startup times?
The reason I'm asking is because the templates are compiled during startup, and there will be differences in compiling 1 templates or > 1000.
Especially if you are running on Google App Engine startup times are an important aspect as Google spawn and kills instances frequently.
Regards,
Marcel
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.