小编Tro*_*vey的帖子

Sproutcore和Ember之间的区别

在Ember从sproutcore分叉之前,我选择了sproutcore作为框架.我不确定哪条路可走,而且由于碎片造成的工作明显稀释而有点沮丧 - 因为很少会导致更好的事情.Sproutcore 2.0(现在的Ember)的努力似乎正朝着模块化和重用其他javasript组件(jQuery)的正确方向发展,但是从外部观点来看,为什么这两个努力必须分裂......才能真正不清楚...我们有模块化代码和小部件库模块吗?

主要问题是:

  1. 这两项努力之间的有效区别是什么?
  2. 分裂的历史是什么?
  3. 什么是sproutcore未来,它现在在哪里?
  4. Ember会发展成为sproutcore的完全替代品吗?

sproutcore ember.js

43
推荐指数
2
解决办法
1万
查看次数

Xcode 5.1启用C++ 14

Xcode 5.1使用Clang 3.4.而Clang 3.4支持C++ 14.

但是,我一直在浏览所有Xcode选项,并没有看到启用C++ 14的方法.

我正在尝试启用C++ 14 的轻松constexpr功能

xcode clang xcode5.1 c++14

13
推荐指数
1
解决办法
7698
查看次数

适用于嵌入式触摸屏应用的Android vs Linux

我看一个需要LCD多点触摸屏,LCD驱动程序,webkit浏览器,Avahi,Web服务器以及用C++编写的引擎的嵌入式项目.

Android乍一看看起来它有大多数正确的组件开箱即用,修改最少......但是对于小内存占用嵌入式设备(128-196MB分钟)而言,使用JVM似乎是重量级的.代码是C++.看起来你不能把JVM拉出去,因为主要的OS组件是用Java运行的(是吗?).

Linux似乎有大部分可以放在一起的部分,没有不必要的瑕疵.以下是主要问题:

  • 一旦将GUI部件组合在一起,linux的内存占用量仍然比Android小得多,假设Android中的JVM和应用程序组件对项目没有用处(现在我们的GUI-less linux版本大约是24MB)?
  • 如果您不需要在Java中运行任何用户应用程序,那么可以在没有JVM组件的情况下运行Android以减少内存占用吗?
  • 你能在Android上编写一流的C++应用程序吗?
  • Linux是否具有成熟的多点触控界面,具有系统范围的触摸键盘,触摸GUI,可触摸的broswer手势(滚动,缩放等).或者它需要大量的自定义UI编码?

linux android

11
推荐指数
1
解决办法
5256
查看次数

C语言中的constexpr(或等效语言)

我正在尝试使用哈希函数在C中使用基于字符串的开关表达式。我已经能够使用'constexpr'使它与干净的语法一起使用,并且Clang / LLVM转换为C ++,即使代码是C。

但是,将其作为C ++进行编译当然会有一些奇怪的副作用,例如缺少void *隐式转换会变得很尴尬。

因此,问题是如何解决这个难题(为什么不将C11委员会的掌声压在C规范上)

  1. 有没有办法用C打开constexpr选项?
  2. 有没有办法让C ++启用隐式void *强制转换?
  3. 是否有另一种干净的方法可以在C11 / C99中进行编码,而无需重新计算哈希值?

这是我当前的示例代码:

constexpr uint64 cHash(char const* text, uint64 last_value = basis)
{
    return *str ? cHash(text+1, (*text ^ last_value) * prime) : last_value;
}

void SwitchFunction(char const* text)
{
    switch(Hash(text))
    {
        case cHash("first"):
            break;
        case cHash("second"):
            break;
        case cHash("third"):
            break;
        default:
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

c c++ clang constexpr

8
推荐指数
4
解决办法
5130
查看次数

Android Web UI 性能比 iOS 慢得多(为什么?)

我想测试 android 的 html5/Javascript Web 应用程序,因此我购买了 Nexus 7(第二代),并将操作系统升级到最新的 4.3。

Nexus 的规格比我之前测试的 iPad 2 好很多:

  • 2GB 内存 vs 512MB
  • 1.5GHz x 4 核与 1GHz x 2 核

不过,我发现网页上的 Nexus UI 交互速度比 iPad 慢约 5-10 倍。按钮按下、动画等都非常滞后。例如,在 iPad 2 上,从按下到未按下的按钮按下翻转的速度与手指抽动的速度一样快,即使在敲击两根手指时也是如此(大于 5 次/秒)。而 Nexus 明显落后于用户触摸速度,不到 1/秒。事实上,Android/Nexus 速度太慢,有时会错过非触摸事件,使按钮处于按下状态。

我想弄清楚这一点,这是操作系统的限制吗?硬件有问题吗?(虽然这是谷歌自己的设备)Java JVM 开销是否限制了性能?(尽管我认为 Chrome 都是原生的 C/C++)。有解决办法吗?

我运行了浏览器 JavaScript 测试 (Dromaeo),计算结果正如您所期望的那样(较新的快速 Nexus 大约是旧 iPad 速度的 2 倍)。尽管我确实注意到,奇怪的是,iPad 在 DOM 操作测试中的表现优于 Nexus 大约 2 倍,但仍然不如用户体验那么引人注目。

有什么想法吗?

android performance-testing ios nexus-7

5
推荐指数
0
解决办法
2462
查看次数

OpenCL 与 Grand Central Dispatch 中的并发编程

随着 OpenCL 2.0 的推出,OpenCL 似乎具备了 Grand Central Dispatch (GCD) 的许多特性,例如 CLang/Apple 风格的块和队列。查看它们各自的功能集,我想知道 OpenCL 是否可以完成 GCD/libdispatch 可以做的所有事情,但是增加了将计算引导到 GPU 和 CPU 的能力——或者 GCD 是否可以提供更多与众不同的功能来自 OpenCL。

具体我的问题是:

  1. GCD 和 OpenCL 的并发特性有什么区别?

  2. 如果一起使用它们有价值(假设 GCD 提供附加功能),C 块是否可以路由到 GCD 队列或 OpenCL 队列?如果以 CPU 为目标,是否有理由通过 OpenCL 与直接运行

  3. OpenCL 2.0 是否提供 GCD 风格的负载平衡,可以填充跨越 CPU 和 GPU 的线程?

concurrency opencl libdispatch grand-central-dispatch objective-c-blocks

4
推荐指数
1
解决办法
1854
查看次数

Sproutcore/Ember/Blossom/Sencha和移动设备(或alt框架)的现状

我一直在寻找Sproutcore,Ember和Blossom以及其他竞争框架(例如Sencha)来选择HTML5客户端应用程序项目.这些项目的状态,信息和文档有点分散,需要清晰,所以我向社区提出这个问题.

我的项目是一个类似本机的HTML5应用程序,其桌面级复杂性需要一个完整的应用程序框架,它可以很好地在桌面上运行,并且可以在具有触摸感知功能的移动设备上以极快的速度运行.小部件应该是原生的(不是类似Web的),但可以自定义,以便应用程序是唯一的.

问题/框架要求:

  1. 原生与Web风格的应用程序.框架应该能够轻松地构建类似本机的用户体验,并能够创建自定义本机感觉(不仅仅是完全模仿mac/win/iOS).围绕Ember的一些文字表明它真的适用于网络风格的应用程序 - 没有给出任何UI层可能不言而喻.像Sencha这样的框架可以轻松容纳自定义小部件吗?
  2. 移动应用程序.框架应该适用于移动设备,并具有触摸输入和手势的功能.我在研究中看到的几个注释表明,Sproutcore和Blossom对于移动设备并不是很适合,并且Ember更适合移动设备(尺寸?) .目前尚不清楚触控/移动库是否在Sproutcore/Blossom中非常发达,以及它们是否会得到支持它的当前状态.(并且开发编译为本机是不可接受的).另一方面,像Sencha这样的框架,他们是否有能力在桌面和移动设备上运行良好?
  3. 框架完整性.该框架应该是一个相当完整的应用程序框架,具有类似桌面的OO期望和管理,可以自动高效地与服务器同步,管理和序列化数据模型.不确定Ember和Sproutcore之间是否存在太大差异,像Sencha这样的其他努力如何叠加?

sproutcore sencha-touch ember.js

2
推荐指数
1
解决办法
1996
查看次数

Swift 字符串文字赋值给 C 变量

在 Swift 中,当调用 C 函数时,Swift 字符串作为参数传递时会被自动强制转换为 CString。但是,在填写 C 结构或全局变量时,我没有得到相同的行为。

strlen(swiftString)                     //Works!
CGlobalStruct.stringPtr = swiftString   //Doesn't work!
Run Code Online (Sandbox Code Playgroud)

首先,当它们都是“const *char”时,为什么它们的行为不同。其次,填写C Structs的最干净方法是什么?

swift

2
推荐指数
1
解决办法
324
查看次数