论坛首页 综合技术论坛

你的系统是跨平台的吗?

浏览 20947 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-10-20  
xiaoyu 写道
国际化问题补充一点. 大家只想到了文字, 其实应该还有图片,还有阅读习惯,还有因为语法问题, 导致传入的参数个数不一样(这样很麻烦). 所以国际化问题其实很复杂.


图片问题相对简单,就技术而言,图片不过是另一种资源而已,在系统中,特别是b/s系统中,就是一个URL路径,这一点上,跟普通的文字资源一样。

整个问题的确很复杂,更深入的暂不谈。
0 请登录后投票
   发表时间:2006-10-21  
1.暂时都没拿tomcat调试,resin应该问题不大的吧.
2.跨数据库真的觉得蛮鸡肋的东西,开始就确定数据库就好.
3.没test,暂时还只是win
4.自己写了个小framework,跨浏览器上还好.不过css确实没办法,只能很多特性不用就是了...
5.没研究...
0 请登录后投票
   发表时间:2006-10-21  
叶子 写道
1.暂时都没拿tomcat调试,resin应该问题不大的吧.
2.跨数据库真的觉得蛮鸡肋的东西,开始就确定数据库就好.
3.没test,暂时还只是win
4.自己写了个小framework,跨浏览器上还好.不过css确实没办法,只能很多特性不用就是了...
5.没研究...


跨数据库我还是很看重的。
0 请登录后投票
   发表时间:2006-10-21  
Lucas Lee 写道

2.跨浏览器。这个绝不是很容易的事情。Javascript就够你喝一壶的,各种细微差别,各种特殊的扩展...,这个到罢了,到CSS,更有玩意,特别是主要用CSS布局的,有得玩,这一点上如果采取老式的Table布局,兼容性倒是很不错。还来新玩意要慎用。

同感,用Table还是在不同的浏览器间支持还是可以的,虽然说。。。

Lucas Lee 写道

  4.1文件路径的分隔符。windows下似乎能兼容Unix的分隔符,但反之不可。不能随意的用/或\,最好是用Java里提供的File.seperator。


在Windows或非Windows的操作系统统一用/即可,大家都认:)
0 请登录后投票
   发表时间:2006-10-21  
together 写道
■跨数据库
经常看到某大公司产品,要求必须使用oracle或者sqlserver数据库,你想换个数据库来部署?没门,人家说了,我们的产品只支持这一种数据库,你就老实的用吧。但对于客户方来说,为了减少投资,并且保证内部系统尽可能使用同一种数据库以减少维护成本(总不能请一个oracle DBA,再请一个sqlserver DBA吧?),总会希望新系统使用的数据库是以前用过的吧。
现在有了hibernate,在此基础上开发的应用,基本上是能满足跨数据库要求的,个人认为这是hibernate最大的亮点。但也要注意,在开发中尽可能考虑到不同数据库的特性。诸如sqlserver的text/image字段上不能查distinct,oracle内的各种对象名称长度不得超过30等,尽量不要调用数据库的内部特性(如存储过程、视图等)

补充几个我在实际开发中碰到数据库兼容性问题:

1)唯一约束
SQL server 2000, HSQLDB 1.8, PostgreSQL 8 都允许唯一约束中存在可为空值的字段,而 Derby 10 则不行;

2)Hibernate 中的没有指明长度和精度的 decimal 映射到 Firebird 时会报错,提示长度超过;
Firebird 中 Decimal 总长度不能超过 18
引用
Decimal(P,S)      变数(16、32或64位)      精度p从1到18:指定数字的总长度;标度s从0到18:指定小数点后的位数。      定点小数。例如decimal(5,3)可以存储的数字形式为:pp.sss

3)中文表名、字段名
PostgreSQL 8, SQL Server 2000, Derby 10, HSQLDB 1.8 对中文表名、字段名支持很好;
MySQL 5 支持的不是很好,中文表名、字段名必须有偶数个汉字,否则有问题;
Firebird 2 还有些问题,SQL 语句中的中文表名、字段名必须放在单引号对里面。

4)varchar 的长度限制:
PostgreSQL 8        varchar(10485760)
SQL Server 2000        varchar(8000) nvarchar(4000)
Firebird 2         最大 32767 字节,字符数根据编码各不相同
Derby              最大 32672 个 unicode 字符

5)Firebird 的索引长度限制,不同版本不一样,Firebird 2.0 要好些。
Firebird 1.5 最大索引长度为 252
引用
Firebird 2.0 最大索引长度与设置PAGE的大小有关,即最大索引长度(字节)=PAGE/4-4,如下表:
  PAGE 大小(字节) 最大索引长度(字节)
  1024 252
  2048 508
  4096 1020
  8192 2044
  16384 4092

Firebird Index key size calculator
0 请登录后投票
   发表时间:2006-10-22  
各位总结得是,请继续补充:)
这个帖子值得收藏,呵呵。
0 请登录后投票
   发表时间:2006-10-23  
服务器端如果没有用到厂商私有API,那么通过服务容器的向下兼容特性,我们的应用都应该是可以跑的。不用总假想让低版本的服务器跑得应用,开发部署应该是我们可以掌握的。
还有一点思路问题,选择高端的J2EE server很多时候是从性能可扩展、安全等很多角度考虑的,所以跨平台不是第一要务,此时反而会鼓励使用私有API,在此时应该解放思想。

而客户端,一般就是定好最低版本,考虑一下可访问性的底线是哪里,然后多测试。css布局麻烦在自动适应分辨率的相对布局上面,这个多遵循经典的惯例,适当的使用浏览器欺骗hack,应该能够达到不错的效果。客户端的界面是不完美的艺术,我们的目的是“可访问”,而不是看起来一样。这里不用犯完美主义的毛病:D
0 请登录后投票
   发表时间:2006-10-23  
一直没有觉得js和css在跨浏览器上同时应用有多困难。不知是否我做的应用比较浅薄。

基本上这两样只有遵照w3c的指示做是没什么问题的。
0 请登录后投票
   发表时间:2006-10-23  
js还好

css的话,就算是yahoo等的首页,在ff下也报很多错误..
0 请登录后投票
   发表时间:2007-01-28  
国际化其实是最最烦的,大家都考虑的太太少了!操作系统有几种?tomcat,weblogic等应用服务器你能遇到几种?数据库你能说出几个?我想都不会超过10个吧?但全世界有几百种语言!每种语言文字语法都不同,这个也许你会认为struts等MVC架构系统的能够解决,但是大家是否考虑到文字的方向性呢?


如果使用了阿拉伯语、波斯语、希伯来语、印地语、泰语、越南语或乌尔都语等语言则文字读写方向是从右向左的。在排版的时候怎么排版就是一个巨大的头痛的问题。如果在这些语言中再夹杂英语单词的话(例如我这篇文章就在中文中夹杂了英语单词),英语是从左往右写的,这时候整篇文章就是双向文字排版(你不可能在阿拉伯语排版中将weblogic写成cigolbew吧?)。
还有树状菜单靠右放置的问题,搜索按钮放在文本框左侧的问题,翻页按钮 “下一页”放在左侧,“上一页”放在右侧的问题,这些左右方向问题,在现在的国际化模块中都无法实现。
不过还好,中国外包项目国际化大多数都只涉及到英语、法语、西班牙语等拉丁语系以及中文、日文、韩文,这些语言都是从左向右的。

(另外:我还听说古代印度河流域以及古希腊文好象是第一行从左向右书写,第二行再从右向左写,我要是遇到这个项目,我要吐血了。)
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics