Merita efortul pentru o aplicatie cross-platform?
#1
Posted 01 January 2017 - 22:56
Am programul asta: https://forum.softpe...e/page__st__558 scris in VB.NET . Intrebarea mea este: merita sa continui dezvoltarea pe Winforms pentru a-l face compatibil cat de cat cu Mono (prin Wine) sau sa trec direct pe WPF care este cel mai bun GUI .NET pentru Windows, fara posibilitatea de a-l mai face cross-platform?
Edited by red46, 01 January 2017 - 22:57. |
#2
Posted 01 January 2017 - 23:05
Mono stie de WinForms. Teoretic e implementat, cand am testat eu pe Linux (acum cativa ani) rula dar nu afisa intocmai ca sub Windows.
Asta cu WPF vs. WinForms tine de ce neajunsuri ai tu, nu de un moft. |
#3
Posted 01 January 2017 - 23:08
Programul respectiv pare a depinde de ActiveX-uri externe, asa ca mono pica. Cum dependinta de playerul video e mare, trebuie sa te invarti in jurul ei.
Trecand peste asta, depinde ce vrei sa imbunatatesti la interfata. WPF, de exemplu, se preteaza la aplicatii business unde ai multe formulare, griduri etc legate intre ele. Pentru un player video ar fi overkill, efecte custom/skinuri poti desena cu orice UI framework. |
#4
Posted 01 January 2017 - 23:14
neagu_laurentiu, on 01 ianuarie 2017 - 23:05, said:
Mono stie de WinForms. Teoretic e implementat, cand am testat eu pe Linux (acum cativa ani) rula dar nu afisa intocmai ca sub Windows. Asta cu WPF vs. WinForms tine de ce neajunsuri ai tu, nu de un moft. dani.user, on 01 ianuarie 2017 - 23:08, said:
Programul respectiv pare a depinde de ActiveX-uri externe, asa ca mono pica. Cum dependinta de playerul video e mare, trebuie sa te invarti in jurul ei. Trecand peste asta, depinde ce vrei sa imbunatatesti la interfata. WPF, de exemplu, se preteaza la aplicatii business unde ai multe formulare, griduri etc legate intre ele. Pentru un player video ar fi overkill, efecte custom/skinuri poti desena cu orice UI framework. Edited by red46, 01 January 2017 - 23:15. |
#5
Posted 01 January 2017 - 23:21
Povestea cu DPI tine de maruntaiele Windows, GDI si ale asemenea. Cu Direct2D au rezolvat-o la nivel de WinAPI. WPF e scris peste DirectX si n-are problema asta.
Insa tin minte ca am citit la noutatile lui .NET 4.5.x cum ca au rezolvat si la WinForms asta. |
#6
Posted 01 January 2017 - 23:21
neagu_laurentiu, on 01 ianuarie 2017 - 23:21, said:
Povestea cu DPI tine de maruntaiele Windows, GDI si ale asemenea. Cu Direct2D au rezolvat-o la nivel de WinAPI. WPF e scris peste DirectX si n-are problema asta. Insa tin minte ca am citit la noutatile lui .NET 4.5.x cum ca au rezolvat si la WinForms asta. Edited by red46, 01 January 2017 - 23:23. |
#8
Posted 02 January 2017 - 00:20
Cred ca merita sa iti bati capul sa il faci si Mac OS compatible
Edited by adrianbblk, 02 January 2017 - 00:20. |
#10
Posted 02 January 2017 - 07:38
daca e tot aplicatia de 2000 linii de cod, din noimebrie pana acum o portai de doua ori ( https://forum.softpe...ce-open-source/ )
|
|
#11
Posted 02 January 2017 - 11:06
TableLayoutPanel/FlowPanel si Dock ar trebui folosite by default in orice aplicatie WinForms. Ce probleme raman cu DPI dupa ce ai pus tablelayoutpanel?
|
#12
Posted 02 January 2017 - 12:18
_Smiley_, on 02 ianuarie 2017 - 07:38, said:
daca e tot aplicatia de 2000 linii de cod, din noimebrie pana acum o portai de doua ori ( https://forum.softpe...ce-open-source/ ) Eu am intrebat daca merita sa raman pe nterfata grafica pentru a-l face compatibil cel putin cu Mono (prin wine), sau sa trec la alta cu probleme mai putine. dani.user, on 02 ianuarie 2017 - 11:06, said:
TableLayoutPanel/FlowPanel si Dock ar trebui folosite by default in orice aplicatie WinForms. Ce probleme raman cu DPI dupa ce ai pus tablelayoutpanel? |
#13
Posted 02 January 2017 - 12:36
#14
Posted 02 January 2017 - 15:00
red46, on 02 ianuarie 2017 - 12:18, said:
Pentru a intra in modul fullscreen, ascund toate controalele din forma, setez marginile pe None si starea formei maximizata. La iesire fac exact acelasi lucru doar ca inversat. Pe un DPI mai mare, la iesirea din fullscreen butoanele de comanda ale player-ului sunt suprapuse peste imagine, sau marimea player-ului e micsorata in partea dreapta. Incearca sa folosesti un form distinct pentru full-screen. Compatibilitate cu mono nu obtii cat timp depinzi de alte componente grafice implementate in cod nativ. Chiar daca ai wrapper peste VLC, versiunea de Linux a VLC sigur are alt mod de a afisa grafic elementele asa ca nu se va integra cu WinForms din mono. Ramane varianta wine, ori merge din prima, ori nu (inca); sau rescris in C++ si adaptata integrarea cu VLC-ul pe fiecare platforma. Edited by dani.user, 02 January 2017 - 15:02. |
#15
Posted 02 January 2017 - 18:51
neagu_laurentiu, on 02 ianuarie 2017 - 12:36, said:
Ai folosit de mai multe ori sintagma asta si n-am inteles de ce! Eu vad ori Mono si-l ai direct pe o platforma suportata de acesta ori prin Wine si executabilul obtinut via MS. dani.user, on 02 ianuarie 2017 - 15:00, said:
Incearca sa folosesti un form distinct pentru full-screen. Compatibilitate cu mono nu obtii cat timp depinzi de alte componente grafice implementate in cod nativ. Chiar daca ai wrapper peste VLC, versiunea de Linux a VLC sigur are alt mod de a afisa grafic elementele asa ca nu se va integra cu WinForms din mono. Ramane varianta wine, ori merge din prima, ori nu (inca); sau rescris in C++ si adaptata integrarea cu VLC-ul pe fiecare platforma. Wrapper-ul pentru VLC l-am testat separat in Wine si functioneaza fara probleme. Doar celalalt control ActiveX ramane problema. |
|
#16
Posted 02 January 2017 - 19:18
red46, on 02 ianuarie 2017 - 18:51, said:
Ma refer la dependintele Mono pentru Wine. Wine expune WinAPI pe Unix-like si ruleaza aplicatiile adiacente. N-are treaba Mono in ecuatie. Cu Mono rulezi "nativ" un executabil compilat pentru .NET, dar nu prin Wine ci direct. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users