Cześć,
Postanowiłem bliżej przyjrzeć się nowemu VS2013 i przypomnieć sobie programowanie w C# przerabiając jeden z programów napisanych w C++ Qt. Już na samym początku byłem zmuszony do stosowania hacków żeby osiągnąć z grubsza podobne efekty jak w Qt Creatorze.
Zebrało mi się plusy i minusy obu, bo nieźle się zdenerwowałem na VS.
Qt Creator:
Plusy:
- prostsze stosowanie layoutów, które same się skalują względem okna głównego.
- proste kolorowanie pojedynczych znaków labela.
- lepsze skalowanie czcionki w programach (wyjaśnię przy VS)
- ustalenie z automatu max i min size dla okna poprzez wyszczególnienie na wysokość i szerokość.
- dostarczona możliwość wyboru opcji statusTip i klawisza skrótu dla widgeta out of box.
- wiem, że to cecha języka jednak podział na implementację i nagłówek dla klas sprawia, że są czytelniejsze (dla mnie rzecz jasna)
Minusy:
- jednak layouty są trochę zbyt sztywne i dziwnie się czasami steruje rozmiarami widgetów.
- brak implementacji destruktora w plikach klasy przez co trzeba dopisywać.
- jednak to C++ czyli mogą pozostać niewykryte wycieki pamięci, ale to nie wina IDE.
VS2013
Plusy:
- znakomite inteliSense, dużo możliwości konfiguracji.
- w celu dodania ikony programu (exeka) nie trzeba dodawać pliku konfiguracyjnego, tylko można to sobie wyklikać.
- prostsze definiowanie tabel jako widżetów. Można sobie wyklikać kolumny i rzędy, chociaż w Qt nagłówki to zwykła QStringLista.
Minusy:
- dlaczego nie można po ludzku zdefiniować sobie na sztywno kontrolek tylko trzeba się pałować z anchorami. Może o czymś nie wiem ale ustawienie czegoś takiego jak central widget załatwiłoby raz na zawsze sprawę prawidłowego skalowania elementów interfejsu. W Qt Creatorze ustawia się siatkę jako coś takiego i cała reszta kontrolek skaluje się odpowiednio do rozmiaru okna i wszystko gra.
- choćbym nie wiem jaką czcionkę dał w labelach to zawsze będą wyraźne różnice pomiędzy odległościami pomiędzy literami, jeżeli mamy jeden label długi, a drugi znaczni krótszy. No kurde czego bym nie zrobił zawsze, ale to zawsze czcionka się rozjedzie. Żeby nie było: ustawiałem justowanie, dopasowanie względem lewej, prawej krawędzi itd... i nic!
- kolejny minus jak diabli to brak natywnego wsparcia dla kolorowania pojedynczych liter w labelach. Trzeba bawić się w hacki z RichTextBoxami.
- dlaczego nie mogę sobie wyklikać akcji dla mouseHover out of box? Wiecie jak to ułatwia ustawienie opisów na paskach statusu? Ja wiem, że można w kodzie to zrobić, ale po co pisać dodatkowe zdarzenia jak można to zrobić szybciej? To samo dotyczy klawisza skrótu ale może się nie dopatrzyłem.
To tyle co na razie zauważyłem. Z C# nie miałem styczności już dobre 2 lata, ale dzisiaj na prawdę się zdenerwowałem, dlatego daję to do dzialu Flame.
I czekam na opinie:)