Powtórka z narzędzi

Subskrybuj RSS A A A
21 czerwca 2004
Tomasz Kopacz

Jednym z głównych tematów konferencji Borlanda były narzędzia dla platformy Microsoft .Net, a zwłaszcza niedawno wprowadzony na rynek pakiet Delphi .Net.

Jednym z głównych tematów konferencji Borlanda były narzędzia dla platformy Microsoft .Net, a zwłaszcza niedawno wprowadzony na rynek pakiet Delphi .Net.

Specjalnie zaproszony gość David Intersimone opowiadał o zasadach działania kompilatora dla Delphi generującego kod dla .Net. Drugi, równie ciekawy nurt konferencji był związany z zasadami ''porządnego'' tworzenia aplikacji. Trzeci obszar zagadnień obejmował tworzenie aplikacji w Javie.

Ku łatwej migracji

Borland chce maksymalnie uprościć migrację kodu Delphi na nową platformę i w związku z tym Delphi .Net może na pierwszy rzut oka sprawiać "dziwne" wrażenie.

Większość funkcji i komponentów została jednak przeniesiona wprost z mechanizmów charakterystycznych dla Win32 (i Delphi). Mechanizm threadvars, czyli definiowanie zmiennych globalnych dla danego wątku w .Net jest realizowane za pośrednictwem atrybutów oraz zmiennych globalnych. W przypadku zbiorów w wyniku kompilacji powstaje tablica w .Net.

Innymi słowy, z poziomu Delphi jest to set, a z poziomu innych aplikacji, które np. chcą uzyskać dostęp do danej zmiennej, normalna tablica. Borlandowi nie udało się jednak przenieść wszystkich elementów. Pominięto głównie te, które były wykorzystywane jeszcze w aplikacjach w Turbo Pascal, np. pliki z dostępem za pośrednictwem rekordów czy polecenia określające położenie zmiennych w pamięci.

Zdaniem obecnego na konferencji Borlanda w Warszawie Davida Intersimone'a różnica w wydajności Delphi .Net, czyli - kompilacji do MSIL, a następnie uruchamianie tego MSIL za pośrednictwem kompilatora JIT a "zwykłym" Delphi jest niemal niedostrzegalna. Niemal, bo ze względu na mechanizmy .Net, jak chociażby automatyczny odśmiecacz pamięci, konstrukcje sprawdzone jako wydajne w Delphi niekoniecznie muszą być najbardziej wydajnymi rozwiązaniami na platformie .Net.

Nowe konstrukcje

Delphi .Net pozwala na przeciążanie operatorów. Nie jest to jednak "długa" instrukcja typu switch jak w Kylixie, ale "normalna" klasa o ustalonych nazwach metod odpowiadających danym operatorom. W ten sposób programista może zdefiniować, co będzie ostatecznym efektem wykonania operacji dodawania dwóch klas czy innych typów. Do pakietu wprowadzono także aliasy klas (patrz ramka).

Interfejs użytkownika może być w Delphi .Net tworzony przy użyciu Windows Forms - standardowego pakietu .Net Framework albo VCL .Net - specjalnej wersji VCL przeniesionej na platformę .Net. Dzięki temu migracja starszych aplikacji jest znacznie prostsza. Trzeba jednak wiedzieć, że VCL .Net to nie warstwa "nad" standardowym Windows Forms, ale w pewnym sensie obok. Komunikuje się ona często bezpośrednio z np. kolejką komunikatów Windows, praktycznie z pominięciem warstwy .Net.

Dzięki temu VCL .Net tylko nieznacznie różni się od VCL dla Win32. Ma to jednak również wadę - trudno w Delphi mówić o praktycznym wykorzystaniu Code Access Security (czyli możliwości określania dla fragmentu kodu "żądanych" uprawnień). Aplikacja okienkowa musi mieć "pełne" uprawnienia. Utrudni to np. uruchamianie kodu .Net pobieranego za pośrednictwem przeglądarki.

Niejednorodna przyszłość

W przyszłych wersjach "normalnego" Delphi pojawią się zagnieżdżone typy, atrybuty, możliwość zdefiniowania wielu "odbiorców" zdarzenia oraz przeciążanie operatorów. Zarówno w Delphi .Net, jak i w "zwykłym" Delphi Borland planuje zawrzeć typy ogólne (generics). Są to jednak wstępne rozważania - nie wiadomo, które funkcje pojawią się w najbliższym Delphi dla Win32. Pewne jest tylko to, że w żadnej wersji Delphi nie pojawią się mechanizmy czysto "dotnetowe" w rodzaju własnego odśmiecacza pamięci, języka pośredniego itp.

Warto dodać, że na razie nie są planowane ani integracja VCL .Net z Mono, ani udostępnianie tej biblioteki dla programistów C++ w ramach pakietu C++BuilderX. David Intersimone stwierdził, że obecnie Borland pracuje głównie nad dalszym ułatwianiem migracji z Delphi do Delphi .Net oraz dostosowuje narzędzia do nadchodzącej specyfikacji - .Net 2.0.

Technologia komponentów przenośnych CLX będzie na razie istnieć "obok" nurtu głównych narzędzi Borlanda. Kylix opiera się na bibliotece QT przeznaczonej do tworzenia przenośnego interfejsu użytkownika, tymczasem najnowszy pakiet dla C++ Borlanda - C++BuilderX - wykorzystuje w tym samym celu wxWindows.

David Intersimone uważa, że klienci wolą wxWindows - choćby dlatego, że wprowadza mniej "pośrednich" warstw i oferuje znacznie wygodniejszą licencję.

Borland nadal będzie rozwijać Delphi dla Win32, który generuje kod bezpośrednio dla Windows. Przedstawiciele Borlanda stwierdzili, że skoro na Longhornie będą działać aplikacje Win32 - to warto rozwijać narzędzia na tę platformę.

Klasy i aliasy
Ciekawą koncepcją wprowadzoną w Delphi .Net są tzw. Class Helpers. To specjalna konstrukcja językowa pozwalająca "przemianować" nazwy poszczególnych klas czy metod. Innymi słowy przy użyciu tego mechanizmu można stworzyć "alias", który z punktu widzenia aplikacji będzie mieć określone cechy, ale tak naprawdę, "pod spodem", będzie wywoływać zupełnie inne obiekty. Oczywiście, analogiczny mechanizm można napisać w każdym języku, jest to jednak zwykle bardzo żmudne. Składnia Class Helper w Delphi .Net jest bardzo czytelna i zrozumiała już na pierwszy rzut oka.

Java w praktyce
Borland przedstawił na konferencji mechanizmy pozwalające prosto tworzyć serwlety czy też praktyczne stosowanie wzorców MDA (Model Driven Architecture) w projekcie. Na konferencji odbyły się także prezentacje innych firm. Novell przedstawił swój pakiet exteNd pozwalający w prosty sposób tworzyć aplikacje Java, które np. "opakowują" stare rozwiązania i udostępniają je jako usługi sieciowe.

Oceń artykuł

średnio: 0 liczba ocen: 0

Komentarze (0)

Najnowsze

MAC, czyli ministerstwo reformowania rządzenia

Premier wspiera lojalnie w kryzysie najbliższego współpracownika, Michała Boniego, przyjmując na siebie atak oburzonych internautów podczas debaty o ACTA.

Nowe, unijne zamówienia publiczne

Komisja Europejska proponuje ważne zmiany prawa wspólnotowego w obszarze zamówień publicznych. Warto im się przyjrzeć bo to jeden z elementów nowej perspektywy finansowej UE. Warto zatem przyjrzeć się owej propozycji bliżej.

Bezpieczeństwo rządowych stron - analiza

Zespół zadaniowy ds. ochrony portali rządowych opublikował wytyczne. Trudno stwierdzić, że to najlepsze rekomendacje, jakie można było przy okazji zaistniałych ataków wypracować.

DEBATA: Kiedy walka polityczna w sieci przemienia się w cyberterroryzm?

Skuteczny atak cybernetyczny przyniesie opłakane skutki dla państwa i gospodarki. Boleśnie się o tym przekonaliśmy, gdy nie można było dostać się na strony internetowe najważniejszych instytucji w Polsce.

Czy MSW chce unieważnienia przetargu na pl.ID?

Rośnie ryzyko całkowitego unieważnienia przetargu na nowe dowody osobiste. Krajowa Izba Odwoławcza odrzuciła odwołanie firmy Sygnity, która nie zgadzała się na wydłużenie o trzy miesiące terminu składania ofert na dostawę blankietów nowych dowodów osobistych. Wydłużenie całego postępowania o trzy miesiące może spowodować skargi uczestniczących w nim firm, a w konsekwencji unieważnienie przetargu.

Garść rad dla roztropnego szefa IT

Trudne czasy w gospodarce to okres, kiedy szczególnego znaczenia nabiera hasło: Jak cię widza, tak cię piszą. Osłabienie rynku przekłada się na oszczędności w przedsiębiorstwie, a oszczędności najłatwiej szukać w działach, które, w opinii zarządu, nie są bezpośrednio związane z prowadzoną działalnością - czyli również w dziale IT.

Sprzeczne wizje e-dowodu

Koncepcja elektronicznego dowodu osobistego powstała w Polsce wiele lat temu. Starsze są koncepcje elektronicznego systemu świadczeń ochrony zdrowia. Mimo to, nadal są w trakcie budowy.

Rekomendacje

Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88