我对Joomla!平台感到非常兴奋。实际上,这是我在2011年最大的保守说法。

我相信Joomla平台有机会成为2012年增长最快的开发平台之一,让全球超过20万的Joomla开发者摆脱CMS开发的束缚,一头扎进更加全球化、移动化和社会化的应用世界。

Joomla!Day UK 2011 Joomla Platform development room
Joomla开发者在Joomla!Day UK 2011上构建J!Platform应用

为一个像开发平台这样晦涩的东西布道是一项挑战。有很多次,开发者和终端用户参加我的演讲后会问:“用这个平台能构建什么例子?”当具体交付物和产品被列出时,人们更容易理解某样东西如何满足自己的需求。

不幸的是,这个问题就像问一个建筑师:“你能用一堆锤子、钉子和木材建什么?”答案是无限的。如果你花时间去成功回答这个问题,你会得到一个无聊的听众。

我一直在纠结这个问题,但在2011年7月的Joomla!Day Chicago上,情况发生了变化。在这次活动中,Louis Landry对Joomla!平台进行了精彩的概述,包括它的构想、发展以及人们可以在哪里为其持续创新提供帮助的描述。当被问及“可以用这个平台构建什么”时,他相当严肃地说,任何你能想象的东西都可以用Joomla平台来实现。然而,要实现我们的梦想,我们需要例子来启动。

行动号召已经确定:我们需要构建示例应用来激发我们的开发者社区去尝试一些相当不同的事情。

自从Joomla!Day芝加哥大会以来,我有幸在世界各地带领了四次Joomla平台会议。芝加哥、开普敦、弗洛里亚诺波利斯和伦敦都参与其中,每个地方都有自己的Joomla社区积极响应行动号召。

在几次重要的主题演讲和会议后,我在最近一次飞行中花了一些时间反思我们的成功。我们做得很好,但还有更多的事情我们可以一起做,以帮助我们的社区继续提升技能,超越CMS。为了帮助这一努力,并帮助更快地传播关于Joomla平台的信息,我想分享我在构建示例应用程序、帮助开发者建立联系以及在全球范围内传播社区精神方面发现的最成功的过程。

步骤1:传达愿景,发出行动号召

仅仅把人们聚集在房间里期望发生好事是不够的。你需要帮助聚焦激励的关键支柱,让奇迹发生:自主性、掌握力和目标感。如果你能推动这三大要素,你就为自己设定了成功的道路。

我发现,如果我们能融入当地社区的情谊,我们还能建立将一群热情的贡献者聚集在一起的纽带。在Joomla!Days活动中,我确保社区能够理解其他社区的贡献,以及当地社区如何为我们的全球社区合唱团增加重要的声音。

最后,我在活动期间寻找贡献者时撒了一张大网。是的,开发者对于构建任何J!Platform应用程序都至关重要,但好想法不仅仅局限于这些技术巨星。我还会联系设计师、实施者、内容创作者等。背景的多样性可以帮助产生输出的多样性。

步骤2:寻找开发者

好吧,我刚才关于撒大网的说法很重要,但同样重要的是要一对一地联系房间里的开发者。他们是我们的主要变革推动者。他们是将想法变为现实的人。我在他们喝咖啡、呼吸新鲜空气或者拼命逃离我的企鹅时找他们。我在活动中与开发者建立的良好直接关系越多,我发现我们的J!Platform应用讨论就越成功。

步骤3:寻找行动派开发者

当我们都在J!Platform的房间里时,我在寻找那些渴望领导、分享想法和推动新创新的开发者。在陌生人堆里,人们不太可能跳起来展示他们的才华,所以我采取了几步来帮助润滑各个环节。

步骤4:展示示例

为了帮助为J!Platform会议设定基调,并尊重房间里的社区成员的多样性,我喜欢专注于几个特定的示例。还有什么比在我们之前的Joomla!Days中构建的应用程序更好的示例呢?我会给出典型的免责声明,1) 我不是开发者,2) 我可能是在边做边摸索。即便有我明显的不足,我们还是有一些具体的东西可以基于过去的成功进行分析和学习。

步骤5:让其他人解释代码

记得我说过我不是开发者吗?好吧,既然我知道我在开发方面的声誉相当低,我也知道我可能不是解释如何轻松编写J!Platform应用程序的最佳人选。相反,我会请房间里的志愿者上台,逐行解释在另一个Joomla!Day创建的示例应用。

幸运的是,我们是一个相当社交的社区,所以我发现找到一个志愿者并不需要太多的劝说。

在房间里的开发者花费时间向其他人解释代码后,我会问他们几个问题。“这代码难以理解吗?”“它是用某种新的奇特的编程语言写的吗?”“审查这段代码后,你的心跳加速了吗?”“这段代码中有没有什么东西需要你学习一堆新的编码标准,或者考虑回大学重新读一个计算机科学学位?”幸运的是,答案总是“没有”,我认为这说明了问题:我仍然真的不知道我在说什么。但这同时也说明了一个更好的观点:如果你知道如何编写Joomla扩展,你就可以构建一个J!Platform应用程序……并且超越CMS进行创新

第6步:头脑风暴

现在乐趣开始了,是时候在我们共度的1-2小时内头脑风暴一下我们能一起构建什么了。我试图设定一些基本参数,例如这个应用应该能在我们离开房间之前(或者可能需要一些晚上作业)完成。它应该基于之前的例子进行构建,或者展示一些尚未解释的新功能。最重要的是:它必须是有趣的。

我见过各种各样的J!Platform应用头脑风暴讨论。我最近的一次J!Platform房间讨论包括了关于构建与实体对象互动的J!Platform应用……比如灯泡、扬声器等等。我们对自己的限制越少,例子应用就变得越有趣、越激动人心。

第7步:创建与创新!

在我们完成头脑风暴之后,是时候开始工作了。通常我会找到房间里最有活力的开发者来推动整个房间的进度。我们将他们的电脑连接到投影仪,并开始作为团队一起编写代码。一些人开始学习如何使用github,一些人开始编写他们自己的示例应用并提出想法,而其他人则观看并贡献他们的想法,以便我们可以骄傲地向世界展示在这两个小时里创造的东西。

最终,我们的目标是有一个可以工作的J!Platform应用。然而,在此过程中,我们实现了更多。我们传播了关于J!Platform的消息。我们让Joomla世界中最聪明的一些人相互见面并协作。我们建立了一个新的社区成员网络。我们建立了关系。

下一步是什么?

这只是一个开始。我们只是触及了我们在平台上可以实现什么的表面,我期待着看到我们的社区从CMS讨论提升到一个更加全球化、更加社交、更加移动的开发心态。

我希望这篇文章能鼓励你传播关于J!Platform的消息。如果你有任何问题,或者希望我加入社区活动(无论是亲自还是通过Skype),只需通过http://scr.im/26bs给我发送电子邮件即可。组织一个J!Platform活动很容易,它很有趣,也会让你微笑。

我们的限制只有我们的想象力。让我们一起实现吧。

想学习如何构建你自己的Joomla平台应用吗?在Joomla文档维基上查看"如何使用Joomla平台创建独立应用程序"。