An presentation on how and why KrakenJS was built, as well as an overview of many useful features of what makes Kraken different from other frameworks.
9. If you're having
trouble getting
sign-off on new
technology, then
try to pilot it vs.
the old.
Pilot projects are harmless
10. • Identify Project
• Begin integrating Node with
infrastructure
January
• Initial infrastructure
offering ready
• Started development
on pilot
March
• Node Pilot surpassed Java
• Java put on hold
June
The pilot timeline
13. /**
If you’re reading this,
that means you have been
put in charge of my
previous project.
I am so, so sorry for
you. God speed.
*/
// Houston,
// we have a problem
// TODO: make this work
// Magic. Do not touch.
//Catching exceptions
// is for communists
/* ALL YOUR BASE ARE
BELONG TO US */
Pilot Results – Comments
Node Java
626
10,31
0
32. Lusca
• Enables Platform for Privacy Preferences Project (P3P)
headers.
• Enables X-FRAME-OPTIONS headers to help prevent
Clickjacking.
• Enables Content Security Policy (CSP) headers.
• Enables Cross Site Request Forgery (CSRF) headers.
Enables out-of-the-box security according to industry (and
PayPal's ) best practices. This is done as middleware, so that
all your requests/responses are automatically secured.
33. Localizr– Internationalization
(i18n)
• Load content bundles
from a specific
location
• Can localize
templates on-the-fly
• Content stored in
properties files
An extension for dust.js templates that enables localization /
internationalization data to be loaded, and decorated on top of a
template.
34. Localizr– Internationalization
(i18n)
index.title=PayPal for Merchants
index.callToAction=Enroll now!
index.greeting=Welcome {user}
# A list
index.ccList[0]=Visa
index.ccList[1]=Mastercard
index.ccList[2]=Discover
# A map
index.states[AL]=Alabama
index.states[AK]=Alaska
index.states[AZ]=Arizona
index.states[CA]=California
index.title=PayPal pour commerçants
index.callToAction= Inscrivez-vous!
index.greeting=Bonjour {user}
# A list
index.ccList[0]=Visa
index.ccList[1]=CIBC
# A map
index.states[ON]=Ontario
index.states[AB]=Alberta
index.states[MB]=Manitoba
index.states[QC]=Quebec
locales/US/en/index.properties locales/CA/fr/index.properties
39. Culture Clash – OSS vs. Closed
Stop "not written here" syndrome
Versions often times aren't >= 1.0
Collect knowledge from
community
GitHub exposes sacred code
This is the glue to your open source. It sits on top of grunt and express, but offers you a more robust feature set in a web application framework. The benefits include support for externalized content, localization, compile-on-the-fly editing, environment-based configuration, baked-in application security and more.