我遇到了Optimizely网站,发现用户界面非常专业。我想知道什么样的框架技术可以产生如此高的质量(除了开发人员的高质量工作和当然的承诺)。
所以我按F12查看了代码。与UX一样,代码质量和结构同样令人印象深刻。不幸的是(当然这是我的经验不足)我不知道它可能是什么样的代码/框架......
它似乎是数据内容绑定和事件绑定的广泛框架。
我还检查了什么.js脚本被引用,但是没有发现任何熟悉的。
不幸的是,该页面只能供注册用户访问,尽管最好在此处提供链接,但这样做是没用的。相反,这里有一些代码展示:
test/test_helper.exs
这是头元素:
Mix.Task.run "ecto.create", ["--quiet", "-r", "MyApp.DbDefinitionRepo"]
Mix.Task.run "ecto.migrate", ["--quiet", "-r", "MyApp.DbDefinitionRepo"]
Ecto.Adapters.SQL.begin_test_transaction(MyApp.DbDefinitionRepo)
答案 0 :(得分:1)
对我来说这看起来像Knockout.js。
示例Knockout用于比较(取自官方教程):
<h3>Tasks</h3>
<form data-bind="submit: addTask">
Add task: <input data-bind="value: newTaskText" placeholder="What needs to be done?" />
<button type="submit">Add</button>
</form>
<ul data-bind="foreach: tasks, visible: tasks().length > 0">
<li>
<input type="checkbox" data-bind="checked: isDone" />
<input data-bind="value: title, disable: isDone" />
<a href="#" data-bind="click: $parent.removeTask">Delete</a>
</li>
</ul>
You have <b data-bind="text: incompleteTasks().length"> </b> incomplete task(s)
<span data-bind="visible: incompleteTasks().length == 0"> - it's beer time!</span>