iPhone网页应用,模板,框架?

22

有没有人能给我一些关于在iPhone上查看网页/站点/应用程序的好的起点呢?

我已经看过像Joe Hewitt制作的模板,也看过一些可以购买的模板,但我还没有购买。

我想可能已经有其他人开始了这方面的工作,并决定我可能可以从他们的新发现中获取知识 :)

那么,有没有什么提示吗?我非常清楚这样的模板/框架会让网络应用程序看起来更像本机iPhone应用程序,我越容易陷入麻烦,因为它只是网络应用程序,但目前我需要一个可以开始构建的框架,然后在过程中弄清如何使其与本机iPhone应用程序一样独特。

具体来说,我正在寻找以下功能:

  • 设置样式表或指向如何在iPhone上进行设置
  • 页面翻转动画,即选择列表中的项目,列表向左滚动出视图,项目信息从右侧滚入
  • 动画部分必须适用于动态页面,即不仅仅是将每个子项设置为div的一个大页面,至少一个这样的框架将其作为一种快速修复措施,我需要选择列表项加载该项目的页面,然后在加载时滚动到它

编辑:为了避免人们只阅读问题并回答,在阅读我的其他回复之前,我将在此添加有关GPL许可和类似问题的澄清。

我需要使用的框架不能根据要求使我将自己的项目许可证化为类似的许可证。 GPL系列许可证允许有关库的使用例外,但这不适用于此,因为必要时,我需要使用的框架将是所有源代码。

该项目可以轻松适应商业库。

此外,我不需要像库或框架这样的东西,只需要一些外观漂亮且没有过于混淆的示例文件即可。


1
DashCode不是一个带有模板的iPhone Web应用程序框架吗? - 0scar
9个回答

5

前几天我在 Google Code 上发现了 iphone-universal。虽然还没有试过,但看起来很有前途。


遗憾的是,AGPL3许可证使得iphone-universal(至少对于我的工作)变得完全无意义。我确实想知道像这样许可证的Web库实际上有多少被使用,相比之下更开放许可证的库,如jQuery。我认为它三年没有更新这一事实说明了一些问题。 - Ben Clayton

4

3
我目前正在研究http://webapp.net.free.fr/。请在这里查看演示。与其他提到的框架相比,它具有以下优点:
  • 正在积极开发中
  • 活跃的用户社区
  • 拥有开放许可证,只要包含版权/免责声明就可以自由分发
对我来说,最后一点真正是胜出的原因。我正在考虑构建一个将被包含在商业产品中的东西,因此像iphone-universal和iwebkit(都是GPL)这样的其他框架不是选项。

1
这很酷 - 它在页面之间有流畅的动画效果。它绝对是 iUI 的一个替代品。 - Igor Zevaka

3

iUI库,最初由Joe Hewitt创建,是一个很好的起点。该库采用BSD许可证,没有商业限制。

你对iphone-universal不可用的假设是正确的 - 它实际上是在Affero GPL下许可的,通过网络访问软件就会触发分发条款,这与标准GPL有很大不同。


2

2

0

看看iWebkit 6。不过它只能在iOS 5上使用 :(。

更新

你也可以使用saurik's。它没有你要求的所有功能,但我会尽力看看如何实现它们。此外,你说你想建立在它上面。有关演示(saurik删除了cydia.saurik.com的实际好部分),你可以使用我的另一个网站上的mine。 为了避免传输所有这些图像,请在头文件中添加以下内容:

<link rel="stylesheet" type="text/css" href="http://cache.saurik.com/menes/style.css" />

此外,在您的CSS中添加以下内容:

body > panel > fieldset > div > a: hover {
background-image: url('menutouched.png')
}

menutouched.png在这里:

这个 JavaScript 函数可以滑动页面,它来自 Joe Hewitt 的 iUI 项目:

function swipePage(fromPage, toPage, backwards)
{
toPage.style.left = “100%”;
toPage.setAttribute(“selected”, “true”);
scrollTo(0, 1);
var percent = 100;
var timer = setInterval(function()
{
percent += animateX;
if (percent <= 0)
{
percent = 0;
fromPage.removeAttribute("selected");
clearInterval(timer);
}
fromPage.style.left = (backwards ? (100-percent) : (percent-100)) + "%";
toPage.style.left = (backwards ? -percent : percent) + "%";
}, animateInterval);
}

为了加载下一页,您可以尝试使用延迟执行 window.location 等方法。具体时间取决于您。

您还需要将此添加到您的 CSS 中:

body {
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-user-select: none;
-webkit-text-size-adjust: none;
-webkit-touch-callout: none;
}

0

这看起来不错,但不幸的是它是在GPLv3下许可的,所以我有点害怕开始查看那些代码。我需要找到或开发的框架必须能够作为商业程序的一部分使用,而无需将整个程序许可证不同。商业库很好,只是我还没有找到可以演示的库,可能是因为如果我想的话,我可以窃取所有的代码。

我猜我会继续寻找,谢谢提供链接。

编辑:澄清。如果有人需要,我很乐意分享iPhone网页框架部分的源代码,但由于这个框架是全部源代码,所以我担心将其部分整合到现有的Web应用程序中(以制作iPhone的皮肤),我会使整个Web应用程序都受到GPL许可证的约束,这完全是不可行的。即使共享与iPhone页面相关的所有文件也是不可行的,因为它们将包含专有代码。


iphone-universal实际上是在Affero GPL许可下发布的(与标准GPL非常不同),这对于您提出的建议绝对行不通。 - modius

0

我一直在尝试使用iUI,发现它非常好,但说实话,我没有看过许可模型,所以我不知道它是什么。但是它非常简单直接,而且可以很好地与ASP.NET MVC配合使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接