Fantom

Login | Register

pods

rmw
12 Jul 2012

what does it mean "pods are the unit of versioning and deployment"? in what way it provides modularity?

SlimerDude
12 Jul 2012

From docLang::Pods:

Pods are the top of Fantom's namespace as well as the unit of deployment. A pod's name is globally unique and is used to organize the top level of Fantom's namespace. In this respect pods serve the purpose of both a Java package and a JAR file (or .NET namespace and DLL).

fantlan
12 Jul 2012

hey I always had that question!! I didnt really understand the answer though...

brian
12 Jul 2012

What is nice about pods is that they are like JAR files, but a lot better because:

  1. they have well defined metadata and versions
  2. they have well defined dependencies checked at both compile time and runtime
  3. when the pod for a given type is missing, you know exactly what pod it is because types are qualified as "pod::Type"
  4. they bundle all your module's code together and provide notion of "pod internal" access visibility
  5. installation requires nothing more than dropping foo.pod into lib/fan/
  6. you can fully reflect all your pods, their types, and have reflection access to everything very elegantly
  7. there is no classpath hell

Login or Register to Reply

Back | All Topics