小编mib*_*lma的帖子

开发更大的JavaScript应用程序的最佳实践

拥有Java/C++的强大背景我想知道是否有可能开发一个更大的JavaScript应用程序而不必削减质量.

任何提示都受到赞赏:

  • 发展环境
  • 调试技术
  • 单元测试
  • 剖析
  • 仪表
  • 系统设计
  • 界面设计
  • 代码设计

我也很好奇JavaScript PC模拟器JavaScript游戏引擎等项目是如何处理这些问题的,以防有些人知道.

javascript ide interface-design unit-testing system-design

61
推荐指数
5
解决办法
7397
查看次数

多屏幕分辨率/宽高比(游戏)

编辑:感谢您的所有答案和评论.在考虑之后,我会将问题的核心重新描述为:"如何确定并限制我的游戏能够运行的最低分辨率/比率".因为即使游戏在最小的屏幕/比例(缺乏细节)上变得无法播放,或者支持甚至最小的屏幕/比率也会显着降低所有其他屏幕的体验.此外,除了禁用ldpi之外,我们甚至不知道最小分辨率是什么或者可以以任何方式限制它...这仍然没有告诉我们最小的mdpi.毕竟我不是在考虑如何创造一个好的结果,而是如何创造一个完美的结果;).猜猜不可能(但是?).

注意:这完全是关于手机而不是平板电脑.此问题与应用程序无关,因为它适用于不使用Android布局系统的游戏.

我总是找到哪些决议的定义有些模糊.我知道文档中的列表.

现在我的第一个问题是这个列表是否完整,或者换句话说是制造商允许使用其他的解决方案或宽高比.我目前的方法是在宽高比方面查看这个列表,看起来像那样(不确定它是否确切,但你明白了):

  • ldpi:最小纵横比4:3
  • mdpi:最小纵横比3:2
  • hdpi:最大宽高比16:9

4:3 3:2 16:9

因此,如果我想要涵盖一系列设备,我会弄清楚我最小和最大的宽高比是什么,并设计最小的布局,同时使其自动增长到最大.例如,如果我想支持所有密度,我将屏幕设计为4:3并使其增长到16:9.如果我删除ldpi支持我会设计为3:2.当然,这假设永远不会有宽高比为4:3的mdpi设备,这让我们回到了第一个问题.

我首选的解决方案是在Android Market上指出我的应用程序可以处理哪些宽高比,但到目前为止这似乎是不可能的.

有没有人有更好的方法?(请记住,这只适用于手机上的游戏)

android aspect-ratio screen-resolution

44
推荐指数
2
解决办法
3万
查看次数

POST不是幂等的后果(RESTful API)

我想知道我目前的方法是否有意义,或者是否有更好的方法来做到这一点.

我有多种情况,我想创建新对象,让服务器为这些对象分配一个ID.发送POST请求似乎是最合适的方法.但是,由于POST不是幂等的,因此请求可能会丢失并再次发送它可能会创建第二个对象.由于API通常通过移动网络访问,因此丢失请求可能非常普遍.

结果我决定将整个过程分成两个步骤.首先发送POST请求以创建新对象,该对象返回Location头中新对象的URI.其次,对提供的位置执行幂等PUT请求,以使用数据填充新对象.如果在24小时内未填充新对象,则服务器可能会通过某种批处理作业将其删除.

这听起来合理还是有更好的方法?

谢谢

rest post http put idempotent

31
推荐指数
3
解决办法
1万
查看次数

建议以区域设置方式格式化数字的方法?

让我们假设我们有一百万.

在英语中,它应格式化为1,000,000德语应该是1.000.000.

java android

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

将部分数据库模型从服务器同步到客户端

这更像是一个概念问题,不一定与任何特定技术相关.假设您在服务器上有一些数据库,一些REST/JSON API用于访问该数据库中的内容,一些移动客户端显示通过API检索的数据.

在客户端上有一些缓存机制并且只要客户端只读取就能够启用对数据的脱机访问会很好(在我的情况下,拒绝对脱机客户端的写访问以避免必须管理所有可能发生的令人讨厌的冲突).

似乎解决这个问题的一个好方法是在客户端上提供服务器数据库模型的子集,并将数据从服务器同步到客户端.然后,访问本地数据库可能会立即返回结果,但也会触发对服务器的更新请求.如果服务器返回修改后的数据,则客户端模型会同步其本地数据库并通知显示数据更改.

最终的目标当然是用户可以浏览信息而不管他的互联网连接的稳定性,并且只要他不修改任何数据,就不会受到连接对话或类似的烦恼.

现在从实现的角度来看......一方面将服务器数据库直接耦合到客户端数据库似乎是一个坏主意,因为它们可能来自不同的供应商.我想至少在数据库实现之上需要一个独立于供应商的模型.另一方面,将数据从服务器数据库转换为某种传输格式,而不是将其放回客户端数据库,这似乎是一个很大的开销.

有任何建议如何以优雅和可维护的方式解决这个问题?

database android client-server offline-caching

14
推荐指数
2
解决办法
1805
查看次数

是否有适用于Java的简单http响应解析器?

有没有简单的http响应解析器实现?我们的想法是将完整的响应作为一个大字符串放入,并能够通过界面检索诸如状态码,正文等内容.

请求/响应不是直接通过TCP/IP发送的,因此除了核心rfc 2616解析实现之外不需要任何其他内容.

java http

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

从架构生成代码时删除中间类

假设我们在XSD中定义了一个集合类型

<xs:complexType name="Foos">
  <xs:sequence>
    <xs:element name="foo" minOccurs="0" maxOccurs="unbounded">
      <xs:complexType>
        <xs:all>
          <xs:element name="bar" type="xs:string"/>
          <xs:element name="baz" type="xs:string"/>
        </xs:all>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

使用XJC从中生成Java代码时,类型大致转换为

public class Foos {
  public List<Foos.Foo> getFoos();

  public static class Foo {
    public String getBar();
    public String getBaz();
  }
}
Run Code Online (Sandbox Code Playgroud)

由于集合类型是某些其他类型的一部分,例如文档的根,所生成代码的客户端代码看起来有点像这样

for(Foo foo : document.getFoos().getFoos())
{
  //do something
}
Run Code Online (Sandbox Code Playgroud)

如果不手动编写包装器,有没有办法让客户端代码不那么难看?

它看起来应该是这样的

for(Foo foo : document.getFoos())
{
  //do something
}
Run Code Online (Sandbox Code Playgroud)

谢谢

xml xsd jaxb xjc

8
推荐指数
1
解决办法
1848
查看次数

确定哪些方面挂钩到给定的类

是否有可能确定哪些方面挂钩到给定的类并获得对其实例的访问?

就像是:

Foo foo = new Foo();
List<Object> aspects = getAllAspectsOf(foo);
Run Code Online (Sandbox Code Playgroud)

java aop aspectj

7
推荐指数
1
解决办法
189
查看次数

Android的Java实现完全兼容吗?

是否有任何定义说明Android上支持哪些标准类库?

假设我们构建一个jar库并使用JavaSE编译它.该库可能由JavaSE服务器应用程序和/或JSP服务器使用.

如果Androids dex能够将这个库编译成Dalvik字节码,有没有办法事先知道?其他方式比试验和错误我的意思是:).

java android

6
推荐指数
2
解决办法
1642
查看次数

6
推荐指数
2
解决办法
488
查看次数