Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: CoLSoN2 en 02 de Diciembre de 2004, 10:34:24 AM

Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 02 de Diciembre de 2004, 10:34:24 AM
 Estoy buscando alguna librería que me libre de realizar todo tipo de código de sistema que dependa de la plataforma, por lo tanto la librería debe tener esto:

- Manejo de ficheros, enumerar ficheros de un directorio, ejecutar un fichero externo, crear nombre con ruta correcto en base a un nombre relativo al ejecutable.
- Manejo de ventanas, creación, aplicar un gamma determinado, recibir eventos (alt+tab,terminación, etc), crear ventanas de dialogos (MessageBox), minimizar ventana
- Obtener información del sistema: modelo de tarjeta gráfica, procesador y MHz, cantidad de memoria RAM, etc.


Requisitos deseados:
- Cambiar de fullscreen a ventana 'al vuelo'
- Obtener estado de drivers de la tarjeta gráfica
- Lo más ligera posible :)

¿alguno conoce alguna?
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: sés en 02 de Diciembre de 2004, 10:45:05 AM
 BGL ^_^

Pero está en desarrollo, solo está la base y aun es solo para Windows.

Aquí empezó todo.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 02 de Diciembre de 2004, 11:21:47 AM
 Si (ahora) sólo es para windows no me sirve de nada XD
Cómo mínimo necesito Windows y Mac OS X.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: sés en 02 de Diciembre de 2004, 12:18:36 PM
 Pórtala a Mac :P
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 02 de Diciembre de 2004, 10:00:24 PM
 precisamente es mi total ignorancia lo que me lleva a buscar una librería como esta..
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Sacrifai en 02 de Diciembre de 2004, 10:35:44 PM
  :P  No soy muy entendido del tema, pero ¿la SDL no te sirve?
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 03 de Diciembre de 2004, 06:18:36 AM
Cita de: Sacrifai:P  No soy muy entendido del tema, pero ¿la SDL no te sirve?
A la SDL le faltan muchas de las cosas que he nombrado.. una verdaderísima pena.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Grugnorr en 03 de Diciembre de 2004, 07:31:09 AM
 SDL+Python te dará todo eso...juraría  :P

Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 03 de Diciembre de 2004, 09:45:13 AM
Cita de: GrugnorrSDL+Python te dará todo eso...juraría  :P
el problema es que quiero que sea todo C++ :\
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Pogacha en 03 de Diciembre de 2004, 02:21:23 PM
 Yo tambien busco lo mismo!
Una libreria que funque en windows, linux y mac.
Controle sonido, video y archivos.
Glut es un estandar y hay que compilar con distintas librerias para cada plataforma?
Si encontras algo avisame.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Pogacha en 03 de Diciembre de 2004, 02:25:44 PM
 http://www.clanlib.org/ ?
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: vincent en 03 de Diciembre de 2004, 03:50:20 PM
 No sé si tiene soporte para mac pero hace buena pinta

Free Glut

VinCenT
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Grugnorr en 03 de Diciembre de 2004, 06:03:00 PM
 En Realidad Python era por simplificar las GUIs, juraría que GTK y demás está en C nativamente
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: martiño en 03 de Diciembre de 2004, 06:55:05 PM
 Hola,

Te comento cuales son las librerias multiplataforma mas conocidas, y las principales caracteristicas de cada una.

Todas tienen versiones para los sistemas operativos mas conocidos. Aunque no se si todas incorporan todas las funcionalidades que quieres (lo de que te digan la tarjeta de video lo veo crudo aunque eso lo puedes ver con OpenGL).

wxWindows - www.wxwindows.org

- Open Source
- Es un wrapper, es decir usa los controles de cada SO (lo que para mi es una ventaja)
- C++
- Soporte para OpenGL estable y en el nucleo
- Facil de usar, muy estilo el awt de Java, es mi favorita ;)


GTK - www.gtk.org

- Open Source
- Controles propios (y feos)
- C (aunque hay tambien wrappers para C++)
- Soporta OpenGL aunque no en el nucleo (con extensiones que hizo peña)
- Version de windows medio inestable
- Es lo que usa el gimp (de hecho las inciales significan Gimp Toolkit)

QT - www.trolltech.com

- Propietaria (en windows solo hay gratis una version anticuada)
- Controles propios
- C++
- Soporta OpenGL
- Lo usa KDE


Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 03 de Diciembre de 2004, 10:32:31 PM
 GTK no me gusta y QT tiene el inconveniente de tener propietaria la parte de windows.

wxwidgets (la librería anteriormente conocida como wxwindows xD) es la que más me había interesado, pero puedo usarla sólo para ese tipo de cosas que he descrito (es decir, que no voy a usar la GUI para nada.)
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 03 de Diciembre de 2004, 10:32:56 PM
 GTK no me gusta y QT tiene el inconveniente de tener propietaria la parte de windows.

wxwidgets (la librería anteriormente conocida como wxwindows xD) es la que más me había interesado, pero puedo usarla sólo para ese tipo de cosas que he descrito (es decir, que no voy a usar la GUI para nada.)?
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Pogacha en 03 de Diciembre de 2004, 11:17:27 PM
 Yo no soy muy entendido en el tema. Y me doy cuenta que se menos de lo que creia.
En todas si o si tienes que hacer una compilacion para cada sistema operativo?
No existe una librería multiplataforma donde solo haces un .exe y este funcionará en cada OS?
Saludos.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Loover en 03 de Diciembre de 2004, 11:30:47 PM
 No veo yo un .exe rulando en linux asi porque sí como no sea en una máquina virtual :)
Supongo que habrá que hacer una compilación para cada sistema, y que será lo más transparente posible para el programador.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 03 de Diciembre de 2004, 11:55:08 PM
 Como bien apunta Loover, lo que dices, Pogacha, sería imposible en C++. Es lo que ocurre con Java y otros lenguajes interpretados (quieras que no Java es interpretado), porque lo que es dependiente de la plataforma es el interprete y no el programa (que en C++ es simplemente código máquina). La gracia de estas librerías es que con los mínimos cambios, el mismo código compile para varias plataformas (lo ideal sería que sin ningún cambio en absoluto, pero eso es mucho pedir xD). Cada vez veo más claro que voy a tener que currármelo yo :-\

¿Porque no le dará a Apple por hacerse un interprete/compilador de C#? XD o al menos contribuir a que Mono soporte Mac, que de momento creo que sólo funciona en Linux.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Vicente en 04 de Diciembre de 2004, 12:48:05 AM
 Hola,

creo que hay un proyecto para portar .NET a Mac, pero ni idea de como van de adelantados... Un saludo!

Vicente
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Grugnorr en 04 de Diciembre de 2004, 11:29:33 AM
 Posiblemente el que lleva GNU, pero van aún más retrasados que Mono.

De todas formas debe haber bindings de alguna librería multiplataforma para C#, desde C# es muy simple invocar funciones de C en una dll
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: vicho en 04 de Diciembre de 2004, 12:09:05 PM
 la solucion al problema es java  :lol:  
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: martiño en 04 de Diciembre de 2004, 01:38:01 PM
 Quzas quieras echarle un vistazo a las librerias boost, estan hechas por la misma gente que la libreria estandar de C/C++. www.boost.org

En cualquier caso si se procura programar en C++ estandar y usando una libreria de estas, o se aisla el codigo dependiente de la plataforma, la portabilidad no deberia ser un problema. Claro, si se usa el .NET a saco querer portabilidad es absurdo, cuando se trata de tecnologia propietaria de Microsoft y nunca se van a tomar en serio otros SOs. Si se usa C# peor aún, ya  que el lenguaje en si mismo es de Microsoft.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 04 de Diciembre de 2004, 01:43:06 PM
 Según esto deduzo que (al menos la 1.0) Mono es compatible con Mac OS X. Aunque tiene evidentemente el problema de que no todo el código c# que compilaría en Visual c# compilaría en Mono (básicamente código que haga llamadas a APIs de Microsoft, como todo el tema DirectX). Aún así ya es una mejora :D
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Loover en 04 de Diciembre de 2004, 03:16:18 PM
 ¿Colson tienes un mac para ir probando o vas a usar un emulador o algo así? Lo digo porque si conoces alguna emulador decente avisame.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 04 de Diciembre de 2004, 03:35:37 PM
 ninguna de las dos XD pero tengo vistas al futuro
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Pogacha en 04 de Diciembre de 2004, 04:28:14 PM
 Honestamente creo que MAC se caga solo al no desarrollar portalizaciones importadores! ... supongamos que no quieren exportar pues se creen originales y exclusivos pero realmente ni ganas me dan de programar para MAC!.
Todo esto despues de investigar un rato ...
Saludos.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: ethernet en 04 de Diciembre de 2004, 07:20:18 PM
 
Aunque java sea interpretado (...)creo que gcc tiene opción para compilarlo a binario nativo.
SDL no lo tiene todo pero tiene gran parte (unido a otras librerías como boost) y siempre tienes su código para solucionar los posibles problemas

una pregunta: por qué esa fijación con mac ?


conclusión: colson pide más que una banda de ciegos
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 04 de Diciembre de 2004, 11:30:51 PM
 @ethy: el mercado mac en el mundo del shareware es muy importante, la gente que vende tanto en PC como en Windows suele tener una relación de 50/50

Por cierto, tienes razón, creo que entre SDL y Boost, tengo más o menos todo lo que quería. La pega es que acabaré teniendo diez mil dependencias (sumandole otras que ya tengo como TinyXML..) xD
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: zxs en 04 de Diciembre de 2004, 11:35:01 PM
 
CitarNo veo yo un .exe rulando en linux asi porque sí como no sea en una máquina virtual

me acuerdo que leí hace cosa de uno o dos meses, no se si por este foro u otros, un vaporware de una
compañía que había creado una máquina virtual de esas, pero que ejecutaba bloques de
instrucciones y ejecutaba el código nativo del otro sistema al 90% de velocidad

vamos, un wmware a lo burro, me acuerdo que pensé lo de Santo Tomás, la explicacion muy bonita, pero no me la trago, hasta que no lo vea no soy creyente
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Trancos en 05 de Diciembre de 2004, 11:31:35 AM
 ParaGUI sobre SDL.

http://www.bms-austria.com/projects/paragui/

Para el tema de la sintaxis propia de cada sistema en modo prompt no creo que sea dificil encontrar por ahí alguna librería. Yo pal tema de ficheros me arreglaría con el empaquetado basado en Zlib de ParaGUI, pero si necesitas ejecutar otras aplicaciones desde afuera por línea de comando y esa clase de cosas, no creo que te sirva.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Zaelsius en 11 de Diciembre de 2004, 01:27:27 AM
 Acabo de ver una noticia sobre el lanzamiento de BlitzMax , una libreria 2D para Windows, Linux y Mac OS X:

http://www.blitzmax.com/newsletter/newslet...er.php?issue=13

PD: Yo tb me las voy apuntando.. pq estoy pensando en adquirir un PowerBook el año que viene (genial)
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Trancos en 11 de Diciembre de 2004, 01:05:26 PM
Cita de: ZaelSiuSAcabo de ver una noticia sobre el lanzamiento de BlitzMax , una libreria 2D para Windows, Linux y Mac OS X:

http://www.blitzmax.com/newsletter/newslet...er.php?issue=13

PD: Yo tb me las voy apuntando.. pq estoy pensando en adquirir un PowerBook el año que viene (genial)
Estuve mirando BlitzMax y pinta muy bien pero no veo soporta para redes. ¿ Alguien puede aclararme si las versiones anteriores traían ese soporte ?
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Zaelsius en 11 de Diciembre de 2004, 01:27:21 PM
 No me suena nada de redes, pero siempre puedes recurrir a usar una libreria externa:

Citar
- External language support for interfacing with C/C++/ObjectiveC or assembly code

Edito:

Al menos Blitz Plus y Blitz 3D sí tienen soporte para redes
http://www.blitzmax.com/bpdocs/command_list_2d_cat.php

Supongo que Blitz Max, que parece el sucesor multiplataforma de Plus, tambien debe tener redes...

Título: Librería Para Desarrollo Multi-plataforma
Publicado por: LordEvil en 11 de Diciembre de 2004, 02:47:08 PM
 BlitzMax es sobre OpenGL y el Blitz3d era sobre directX no?
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 11 de Diciembre de 2004, 02:53:52 PM
 Cierto. Hace tiempo que esperaba su release y por fin está aquí, y en cuanto salga para PC me lo pillaré (ahora sólo ha salido para Mac OSX para probarlo con una base de usuarios menor). No es la solución definitiva, porque no es para C++, pero mejora muchíiisimas cosas del lenguaje (OO, punteros, y demás) y proporciona funcionalidad nueva que me interesa como lo que decía del sistema de ficheros (paths, ficheros y directorios, etc). Está muy muy bien.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Trancos en 11 de Diciembre de 2004, 04:04:48 PM
 Seguramente si tendrá soporte para red como dice Zaelsius. La verdad es que pinta muy bien.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: Zaelsius en 13 de Enero de 2005, 11:16:30 PM
 
GarageGames Announces Torque 2D Support of Tiger

http://www.garagegames.com/index.php?sec=m...e=view&qid=6986

Parece que GarageGames va a sacar una producto de desarrollo 2D(C++?) , compatible con Mac OS X y Windows(se da por hecho aunque no lo ponga). Lo han anunciado hoy en la MacWorld SanFrancisco.

Me parece apreciar una tendencia de apertura del mundo Indy hacia Mac OS X últimamente.. jeje:rolleyes:  
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: franxxl en 13 de Enero de 2005, 11:35:19 PM
 

Joer la respuesta me parece tan obia que me da vergüenza ajena:

JAVA, lo demás es perder el tiempo



Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 13 de Enero de 2005, 11:51:58 PM
 Pues la respuesta no es Java porque la pregunta era una librería para C++. Pero vamos, sólo conozco dos desarrolladores indie que usan java.

1- Sillysoft que en OSX le va bastante bien (se dedicaba sólo a él a pesar de usar Java hasta hace poco) pero en windows creo que le pasa como al sujeto nº2
2- PuppyGames por lo que se tiene muchos problemas técnicos mayormente en usuarios de Windows, primero por Java (que no tienen el JDK y ni de coña se van a bajar veintipico MBs) y segundo por OpenGL (drivers no actualizados, básicamente).

Así que no me hace mucha ilusión Java, además que como lenguaje no me atrae demasiado.
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: TheAzazel en 14 de Enero de 2005, 12:29:55 AM
 Colson2, me imagino q ya habras visto CRM32Pro (con la werrita q he dao..pa no verla jeje). He leido y practicamente cumple todos los requesitos.... lo unico, q no esta compilado para Mac... pero.... a unas malas, te podria pasar el codigo y pruebas con mac..no creo q sea muy dificil... y para linux... es aun mas sencillo, me he puesto a hacer pruebas y en poco, pondre la lib rulando en linux...
si no, de todos modos... te recomiendo SDL+SDL_net y ale, ya tienes tus requisitos cumplidos, multiplataforma y soporte de red.
tahora
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: ZüNdFoLGe en 14 de Enero de 2005, 12:48:18 AM
 pero mejora muchíiisimas cosas del lenguaje (OO, punteros, y demás)
CitarCierto. Hace tiempo que esperaba su release y por fin está aquí, y en cuanto salga para PC me lo pillaré (ahora sólo ha salido para Mac OSX para probarlo con una base de usuarios menor). No es la solución definitiva, porque no es para C++, pero mejora muchíiisimas cosas del lenguaje (OO, punteros, y demás) y proporciona funcionalidad nueva que me interesa como lo que decía del sistema de ficheros (paths, ficheros y directorios, etc). Está muy muy bien.

:huh:
Aún no conozco nada que supere al manejo de punteros de C++, de hecho es una de las caracteristicas mas poderosas de C/C++.
Pero ojo, no digo que no exista nada, simplemente al menos yo no conozco...

me gustaria saber a qué mejoras te referís, ya que si hay mejoras + potentes en este sentido de  verdad debe ser bueno  (uoh)  
Título: Librería Para Desarrollo Multi-plataforma
Publicado por: CoLSoN2 en 14 de Enero de 2005, 06:37:01 AM
 @ZüNdFoLGe: Si hubiera un 'what's new' en la doc de BMax te lo pastearía, pero no es así. Y como la demo pública disponible es sólo para Mac (si tienes uno ya sabes) no puedes descomprimirlo. Aunque creo que había un descompresor de .sit para Windows, googlea a ver. Por cierto, si comprais BMax, en los foros privados SÍ hay las versiones de Windows y creo que de Linux también. Aunque en estado beta (lo más verde es el editor pero ya hay varios hechos por la comunidad) van de coña.

@TheAzazel: Librerías como esa ya hay muchas, el problema es que, como dices, 'no son compatibles para Mac', y eso para alguien que no tiene ni ganas (ni idea) de cómo funciona esa plataforma (equivalente a Win API, etc) pues es un problema importante. Yo quiero meterlo en XCode o Codewarrior y que compile 'a la primera'.