标签: cross-platform

在为基于社区的网站构建API之前,开发人员应该了解什么?

在开始繁重编码之前,开发人员应该为基于社区的网站设计和实现API知道什么?有许多API,如Twitter API,Facebook API,Flickr API等,这些都是很好的例子.但是,您将如何构建自己的API

你会用什么技术?我认为使用类似REST的接口是个好主意,这样可以从不同的平台/客户端/浏览器/命令行工具(如curl)访问API .我对吗?我知道应该满足Web开发的所有原则,如缓存,可用性,可伸缩性,安全性,防止潜在DOS攻击,验证等.当涉及到API时,一些最重要的事情是向后兼容性和文档.我错过了什么吗?

另一方面,从用户的角度思考(我的意思是将要使用您的API的开发人员),您会在API中寻找什么?好的文件?大量的代码示例?

这个问题的灵感来自Joel Coehoorn的问题"开发人员在建立公共网站之前应该知道什么?" .

这个问题是一个社区wiki,所以我希望你能帮助我在为一个基于社区的网站构建API时应该解决的所有问题.

api rest cross-platform

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

创建跨平台Java SWT应用程序

我用SWT编写了一个Java GUI.我使用ANT脚本打包应用程序(下面的片段).

<jar destfile="./build/jars/swtgui.jar" filesetmanifest="mergewithoutmain">
  <manifest>
    <attribute name="Main-Class" value="org.swtgui.MainGui" />
    <attribute name="Class-Path" value="." />
  </manifest>
  <fileset dir="./build/classes" includes="**/*.class" />
  <zipfileset excludes="META-INF/*.SF" src="lib/org.eclipse.swt.win32.win32.x86_3.5.2.v3557f.jar" />
</jar>
Run Code Online (Sandbox Code Playgroud)

这会生成一个jar,在Windows上我只需双击即可运行我的GUI.缺点是我必须将Windows SWT包显式打包到我的jar中.

我希望能够在其他平台(主要是Linux和OS X)上运行我的应用程序.最简单的方法是创建特定于平台的jar,将适当的SWT文件打包到单独的JAR中.

有一个更好的方法吗?是否可以创建一个可在多个平台上运行的JAR?

ant swt cross-platform jar package

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

什么是自动外汇交易的最佳API?

我有兴趣为外汇市场写一个小型自动交易员.我想选择自己的工具(平台和编程语言),我只需要找到一个合适的API来查询数字并接受交易操作的请求.我想理想的是一些带有XML API或类似功能的Web服务.

有任何想法吗?

api cross-platform trading forex

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

C++和Python之间的简单IPC(跨平台)

我有一个在后台运行的C++进程,它将不经常生成'事件',以便在同一个盒子上运行的Python进程需要获取.

  • C端的代码需要尽可能轻量级.
  • Python端是只读的.
  • 实施必须是跨平台的.
  • 发送的数据非常简单.

我有什么选择?

谢谢

c++ python cross-platform ipc

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

用于size_t类型变量的跨平台格式字符串?

在跨平台的c/c ++项目(Win32,Linux,OSX)中,我需要使用*printf函数来打印一些size_t类型的变量.在某些环境中,size_t是8个字节,而在其他环境中它们是4.在glibc上我有%zd,在Win32上我可以使用%Id.有一种优雅的方式来处理这个问题吗?

c c++ printf cross-platform size-t

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

Eclipse用于C和C++开发的替代方案?

我一直在使用Eclipse进行C和C++开发.不幸的是Eclipse有它的缺点(速度,糟糕的集成控制台,以及一些不时出现的错误).

对于C++开发,Qt Creator是一个非常好的选择,但我需要C和C++的东西.

我真的不需要IDE的集成部分(我不需要集成的项目管理器,编译器或debuger).我需要的是代码导航.Eclipse提供了一个很棒的功能"结构元素的调用图",这在我需要修改大型代码库时是无与伦比的(这是我大部分时间都在做的).

代码完成和至少一些集成文档(doxygen,函数之前的通用注释,系统文档)是绝对必要的.

哦,IDE必须是跨平台的.

Eclipse还有其他东西吗?

c c++ eclipse ide cross-platform

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

如何以跨平台的方式使用CMake ExternalProject_Add或替代方案?

我想建立一个已经将CMake作为我项目的CMake条带的一部分的第三方项目.ExternalProject_Add就是出于此目的,但我发现它只能用于特定的生成器,我想在很多平台上轻松工作.

例如,这里是zlib的外部项目添加脚本,它有自己的CMakeLists.txt:

set(USE_PROJECT_CMAKE_MODULE_PATH "-DCMAKE_MODULE_PATH=${MAKE_MODULE_PATH}")
ExternalProject_Add(ZLIB
                    SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/zlib
                    DOWNLOAD_COMMAND ""
                    UPDATE_COMMAND ""
                    CMAKE_ARGS
                       -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
                       -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
                       -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
                       -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
                       ${USE_PROJECT_CMAKE_MODULE_PATH}
                    INSTALL_COMMAND "")

ExternalProject_Add_Step(ZLIB installInternally
                         COMMAND cd <BINARY_DIR> && make install
                         DEPENDEES install
                         ALWAYS 1)
ExternalProject_Get_Property(ZLIB install_dir)

if(UNIX)
    set(ZLIB_NAME libz)
else(UNIX)
    set(ZLIB_NAME zlib)
endif(UNIX)

add_library(zlib UNKNOWN IMPORTED)
set_property(TARGET zlib PROPERTY IMPORTED_LOCATION ${install_dir}/lib/${ZLIB_NAME}.a)
set(ZLIB_LIBRARIES zlib)
set(ZLIB_LIBRARIES_OPTIONAL ${ZLIB_LIBRARIES})
set(ZLIB_DIR ${install_dir} CACHE INTERNAL "zlib ROOT dir")
set(ZLIB_INCLUDE_DIRS ${install_dir}/include CACHE INTERNAL "zlib include dirs")
set(ZLIB_DEFINES "-msse2 -mfpmath=sse" CACHE INTERNAL "zlib defines")
Run Code Online (Sandbox Code Playgroud)

这个问题是它适用于make,但不适用于Xcode或Visual Studio.也许有一些方法可以将传递给我的项目的cmake构建命令转发给ExternalProject_Add.

如何以最小的代码复杂性以跨平台的方式编写ExternalProject_Add调用,还是有更好的选择?

cross-platform cmake external-project

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

选择OpenGL ES 1.1或OpenGL ES 2.0?

我将开始一个新的跨平台openGL项目(主要用于iPhone和PC).所以主要问题是:针对OpenGL ES 1.1或OpenGL ES 2.0?或两者?到目前为止我读过Open GL ES 1.1并没有真正弃用,不是吗?那么对于openGL ES 2.0会说些什么呢?可编程顶点和碎片整理器 - 还有别的吗?我听说阿尔法混合后性能下降了 - 这可能是真的吗?我假设openGL ES 2.0代码也应该在PC上运行 - 那么openGL ES 2.0是否真的更具未来意识?

那里的其他开发人员仍然在编写OpenGL ES 1.1或2.0?为什么?我假设如果我选择openGL ES 2.0,那么与openGL ES 1.1的向后兼容性也会有很多开销.但是有很多iPhone没有openGL ES 2.0支持 - 我该怎么做到这一点?那里有经验吗?

我发现只有这个问题:iPhone上的OpenGL ES 1.1或2.0类型相关,但实现并不是很深入......所以欢迎任何建议!非常感谢!

iphone cross-platform opengl-es opengl-es-2.0

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

什么是在Python中枚举串口的跨平台方法(包括虚拟端口)?

注意:我使用Python 2.7和pySerial进行串行通信.

我发现这篇文章列出了两种方式:http://www.zaber.com/wiki/Software/Python#Displaying_a_list_of_available_serial_ports

此方法适用于Windows和Linux,但有时会错过Linux上的虚拟端口:

import serial

def scan():
   # scan for available ports. return a list of tuples (num, name)
   available = []
   for i in range(256):
       try:
           s = serial.Serial(i)
           available.append( (i, s.portstr))
           s.close()
       except serial.SerialException:
           pass
   return available

print "Found ports:"
for n,s in scan(): print "(%d) %s" % (n,s)
Run Code Online (Sandbox Code Playgroud)

这个只适用于Linux,但包含虚拟端口:

import serial, glob

def scan():
   # scan for available ports. return a list of device names.
   return glob.glob('/dev/ttyS*') + glob.glob('/dev/ttyUSB*')

print "Found ports:" …
Run Code Online (Sandbox Code Playgroud)

python cross-platform serial-port pyserial python-2.7

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

如何编译支持旧版Java的.java?

我想将我的.java(几个)编译成一个.jar与至少Java 1.6和更新,最好Java 1.5和更新版本的Java 兼容的版本.(我有Java 1.7.0_5)

java cross-platform compilation

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