10주에 걸친 실버라이트 교육이 끝이났다. 회사에서 직장인환급 과정으로 날라온 이메일에 실버라이트가 있길래 고민좀 하다가 신청을 했다. 현재로썬 내 업무와는 그닥(전혀라고는 할 수 없지만...) 관계가 없지만 회사에서 보내준 메일에 과정이 있길래 그냥 신청을 해버렸다. 우리회사는 업무와의 연관도와는 상관없이 그냥 이렇게 들어도 된다. (배려차원은 아니고....)
이전에도 실버라이트는 아니었지만 교육에 대한 메일이 몇번 왔었는데 별로 듣지를 않았다. 일단 보통 올때 설명도 없이 그냥 강좌명정도만 날라오기 때문에 난이도도 알수 없고 정확히 어떤 부분을 가르치는 지도 모르겠고 개인적으로 교육은 강사의 능력이 크게 좌우한다고 생각하기 때문에 누가 가르치는지도 안나와 있으니까 그냥 시간만 낭비하게 될까봐 그냥 있었는데 실버라이트 교육은 살짝 고민하고는 신청했다. 어차피 아무것도 모르니까 난이도도 크게 상관없고 신기술이고 교육이다보니 중급을 가르칠 확률도 적어보였고 실버라이트를 가르친다는 것만으로도 어느정도 실력이 있지 않을가 하는게 내 생각이었다.
10주... 매주 토요일 6시간씩.... 만만찮았다. 말이 10주지 추석이나 뭐다해서 중간에 2번쉬니까 12주...하루하루가 부담되지는 않았는데 전체적으로 매주 토요일을 먹고 있다는게 큰 부담이었고 12주는 생각보다 훨씬 길었다. 원래 토요일은 나에겐 잠자는 날이었는데.... ㅋㅋㅋ
사설이 좀 길었는데 어쨌든 내가 꽤 좋아하던 실버라이트를 드디어 배웠다. 배우고 난 소감은... 초기에와는 약간 생각이 달라졌다. 어찌보면 당연한 건데 그때는 그렇게까지 깊게는 생각을 못해봤다고 할까나.... 대표적인 RIA기술로는 Flex와 Silverlight가 있다. JavaFX나 OpenLazlo등이 있긴 하지만 그건 논외로 하고..... 어쨌든 여기서 난 실버라이트쪽에 더 끌렸다.
보통은 자바랑 플랙스랑 매치되고는 하는데 자바개발자면서 실버라이트쪽에 더 끌린 것은 작년에 내가 다니는 웹사이트나 세미나를 통해서 실버라이트에 대한 정보를 훨씬 많이 접했기 때문인듯 하다. 내게는 꽤 매력적으로 보였고 플렉스랑 대비되서 눈에 띄는 점들도 있었고 크게 꽂힌것은 뭐니뭐니해도 딥줌이었다. "이거야!!"라는 생각.... 그러면서 계속 실버라이트가 하고 싶었고 이번 교육을 들었다.
교육은 뒤돌아보면 그렇게 열심히 듣지는 못했다. 일단 신기술을 익힌다는 마인드였기 때문에 실버라이트에 올인할 수 는 없었다. 업무관련해서 공부하고 할것도 많았기 때문에 시간이 지날수록 교육받은 걸 따로 공부하고 준비할 시간은 많이 부족했다. 이건 내 과실이기도 하지만 어쨌든 실버라이트는 1.0과 2.0이 있는데 1.0은 자바스크립트로 컨트롤을 하고 2.0부터는 C#을 비롯한 여러언어로 컨트롤을 한다. 1.0에서는 재미도 있고 잘 쫓아가다가 제대로 쫓아가지 못한것은 2.0부터였는데 생각외로 발목을 잡은 것은 C#이라기 보다는 비쥬얼 스튜디오였다.
나는 닷넷개발자가 아니기 때문에 비쥬얼 스튜디오를 쓸 일이 별로 없다. MS가 자동화가 잘 되어 있는데 비해서 자바쪽은 좀 수동으로 하는걸 선호하는 경향이 있기 때문에 비쥬얼 스튜디오란 툴은 작년에 교육받긴 했지만 오랜만에 만지니 익숙하지 않았다. 더군다나 프로젝트 만들고 컨트롤을 도구상자에서 끌어나 놓으면서 페이지를 만드는 것은 나로써는 익숙치 않은 행동이었고 이러다 보니 잠시만 한눈팔아도 "저거 어떻게 같다 붙힌거지?"하게 되고 그 문제 해결하느라고 정작 들어야 될 설명을 놓치기가 일쑤였다.
그리고 실버라이트를 설명하기 위해서 기본적으로 알아야 될 자바스크립트에 대한 것들이나 AJAX에 대한 부분들이 있었는데 사람들이 자바스크립트에 대해서 전혀 모르다 보니 이런 부분에 대한 부가설명이 당연히 붙을수 밖에 없었다. 내가 자바스크립트를 다 꿰고 있는 것은 아니지만 다른 설명을 위해 배경지식으로 설명하는 정도에서는 이해할 정도는 됐기 때문에 이시간은 나한테 꽤나 지루한 시간이었고 이런 시간이 거의 이틀치 정도는 되었다. ㅡ..ㅡ
머 내가 열심히 하지 않은 것에 대해서 핑계를 대려는 것은 아니고 실버라이트를 좀 경험하고 나서 내 생각이 오히려 플렉스 쪽으로 치우쳤다는 것이다. 플렉스도 좀 경험하면 다른 생각이 또 들지도 모르겠지만 지금으로써는 내가 왜 실버라이트를? 이라는 생각이 들었다.
일단 2.0은 C#베이스다. 1.0은 자바스크립트 기반이라서 아무 환경에서나 할 수 있다지만 새로운 기술들, 기능들은 모두 2.0기반에서 나오고 있다. 1.0만으로도 자바스크립트보다 많은 것을 할 수 있지만 2.0을 안하고 1.0만 한다는 것은 실버라이트의 많은 장점들을 버리는 일이라고 생각하고 다른 실버라이트를 하는 사람들의 글을 보다오 대충 그런것 같다. 지금은 괜찮다고 하더라도 3.0이 나오면 어떻게 할 것인가? 계속 1.0만...... 더이상 기능추가도 안되는것 같은데? 난 자바개발자인데 실버라이트를 위해서 C#을 익혀야 한다는 것이다.
또한 C#으로 한다는 것은 기본적으로 윈도우 기반이란 것을 뜻한다. 다른데서도 된다는 말은 들은것 같은데 본적도 없고 제대로 지원되는지도 모르겠다. 리눅스에서 가능하다는 문라이트나 그런 것은 클라이언트적인 관점이지 서버적인 관점이 아니다. C#을 하려면 닷넷프레임워크가 있어야 하고 자연히 윈도우 기반이어야 한다. 자바는 플랫폿에 상관없이 개발할 수 있고 대부분은 유닉스나 리눅스 기반이 많이 있는데 실버라이트를 위해서 윈도우 서버를 구축해야 한다는 것은 맞지 않다고 본다. 왜냐하면 플렉스가 있으니까...(플랙스쪽도 어도비에 뭔 서버가 있는듯 하긴 한데 이게 무조건 필요한건지까지는 잘 모르겠지만 그냥 주워들은 지식으로는 크게 상관없지 않나 싶다.) (일부만 수정할까 하다고 이 단락 전체가 같은 의도로 작성한 내용이기 때문에 전체를 수정처리 했다. 줄을 그은 내용이 모두 잘 못 된것은 아니지만 말하고자 했던 "서버가 윈도서버로 제한된다"는 전제가 길버트님의 지적대로 완전히 나의 오해였음이 밝혀졌기 때문에 다른 분들께 잘못되 내용은 전하지 않기 위해서 수정처리를 한다. 실버라이트도 개발할때는 윈도기반에 C#으로 하더라도 결과물은 XAP라는 단일파일로 떨어뜨릴수 있기 때문에 실제 서비스할 서버에서는 환경에 제약을 받지 않는다고 길버트님이 지적해 주심-RSS로 나간건 어떻하지.. ㅠ..ㅠ 2008.10.1)
그리고 플렉스가 자바랑 많이 비슷하기 때문에 궁합이 잘 맞는다고도 하고 액션스크립트 자체가 그 기반이 ECMA-262이기 때문에 같은 기반을 가지고 있는 자바스크립트를 다룰 줄 아는 나로서는 그 진입장벽이 훨씬 낮다. 일단 지금 현재 C#에 대해서는 생각이 없는 가운데 내가 굳이 플렉스보다 실버라이트에 더 기울 이유가 없다고 느껴지게 되었다. 펄이나 파이썬으로도 가능하다고는 하지만 아직까지 다른 언어로 만들어 진 걸 본적도 없고 대부분의 실버라이트 하시는 분들이 현재로써는 닷넷계열 개발자들이기 때문에 C#으로 된 실버라이트에 대한 리소스에 비교하자면 그 차이는 크다.
결국은 다 할 생각이긴 했지만 이런 이유로 인하여 앞으로는 실버라이트 보다는 플렉스쪽에 맘이 가게 되었다. AIR라는 흥미로운 녀석도 있고.... 개발언어에 상관없다는 편견에 내가 좀 사로잡혔던 것 같다.
물론 기술이란 것은 절대적인 것은 없다고 생각한다. 기술은 상황에 맞게 쓰는것이 가장 좋다는 것이 개인적 생각이다. 자기가 잘 할 수 있는 기술이 최상의 선택이지만 Java가 좋은 상황이 있으면 C#이 좋은 상황이 있고 실버라이트로 구현하는게 어울리는 부분이 있으면 플렉스가 어울리는 부분이 있다. 개발자로써 하나만 한다는 것은 장기적으로 그리 좋은 선택은 아니라고 생각하지만 그렇다고 초기부터 이것저것 다 할 수는 없는 노릇이다.
안녕하세요. 길버트입니다.
아웃사이더님 말씀 중에 많은 분들이 오해할 만한 부분이 있다고 생각합니다.
바로 "실버라이트를 위해서 윈도우 서버를 구축해야 한다는 것은 맞지 않다고 본다." 이 부분인데요.
일단 '개발환경이 윈도우로 한정되어 있다.'라는 의미로 쓰신 것이라고 생각이 드는데요.
'서버'를 언급하셨기에 이 글을 읽으신 다른 분들이 오해하실까봐 한 마디 덧붙입니다.
실버라이트를 서비스하기 위해서 꼭 윈도우 서버를 구축할 필요는 없습니다.
이것은 "내 홈페이지에 넣을 플래시를 위해서 윈도우 서버를 구축해야 한다."는 말과 같은 표현입니다.
즉, 실버라이트는 플래시와 마찬가지로 서버를 가리지 않습니다.
실제로 서버에 관계없이 어떤 블로그로든지 플래시처럼 퍼가기 할 수 있습니다.
예를 들어 NView를 서비스하는 SBS는 리눅스 계열의 JSP서버, 휴즈플로우의 홈페이지는
리눅스 서버에, PHP를 사용하고 있습니다.
마지막으로 '물론 기술이란 것은 절대적인 것은 없다고 생각한다.
기술은 상황에 맞게 쓰는것이 가장 좋다는 것이 개인적 생각이다.'라는 아웃사이더 님의 생각에
깊이 동의합니다. 감사합니다.
안녕하세요... ㅎ 블로그는 잘 보고 있는데 이렇게 들려주시니 감사하네요.. ㅎ
솔직히 제가 닷넷쪽 개발자가 아니기 때문에 작성할때도 잘못된 내용이 있을까봐 걱정하기는 했는데요. 역시나 잘못된 내용이 있었군요.
말씀하신 부분에 제가 궁금한 점이 있어서 그런데요.
서버에 관계없이 퍼가기가 가능하다고 하셨는데 이것은 서버쪽이 아니라 클라이언트쪽의 문제 아닌가요? 퍼가기라고 하신 것이 링크는 원래 서버를 향하고 있는 것이 아닌지요 유튜브 영상을 제 블로그로 퍼오면 실제 제 서버에 올라가지 않고 영상소스자체는 여전히 유튜브측에 있고 클라이언트인 제 브라우저의 플래시가 돌려주는 것과 다른 의미로 말씀하신건지 궁금합니다.
그리고 SBS와 휴즈플로우가 리눅스 서버라고 하셨는데 이부분은 실버라이트 2.0으로 서비스하려면 서버측에서 C#이 필요한거 아닌가요?(반드시는 아니지만 C#으로 개발했다고 할 경우에요...) 그럴려면 닷넷프레임워크도 필요한걸로 알고 있는데요 말씀하신 서버환경에서는 리눅스 서버에 C#환경이 만들어진건가요? 아니면 플래시의 SWF처럼 어디서나 돌릴수 있게 결과물을 파일로 만들어 낼수 있는건가요?
길버트님의 답변을 이해하는대로 포스팅을 대대적으로 수정해야 할지도 모르겠네요. ㅎㅎㅎ 잘못된 내용을 지적해 주셔서 감사합니다.
서버 이야기를 언급 것은 실버라이트2를 실행하기 위해 서버 사이드에 뭔가 제한이 필요하다고
생각하시는 것 같아서 그랬던 것이구요.
실버라이트2로 서비스하기 위해서는 서버측에서 C#지원이 필요 없습니다.
마찬가지로 닷넷프레임웍도 서버에는 설치될 필요가 없습니다.
사용자가 자기 PC에 '실버라이트 런타임'만 한 번 설치하면 이용 가능합니다.(플래시 플레이어 설치 하듯이)
그 다음엔 어떤 실버라이트 서비스도 플래시처럼 (추가 설치 없이) 이용하실 수 있습니다.
그리고 플래시의 SWF처럼 어디서나 돌릴 수 있게 결과물이 XAP란 파일로 만들어 진답니다.
아~ 그렇군요.. 말씀하신대로 저는 서버사이드쪽에 제한이 필요하다고 제대로 오해하고 있었습니다.
아무래도 교육에서는 비쥬얼스튜디오에서 만들고 바로 브라우저로 띄워서 보는 식으로만 해보다 보니(아니면 가르쳐줬는데 놓쳤던지요...) SWF처럼 떨어진다는 생각은 전혀 못하고 있었네요
듣고 보니 실버라이트 세미나 다니면서 XAP이란 말은 들어본적은 있는것 같네요.
잘못된 점을 지적해 주셔서 감사합니다. 저한테는 C#을 익혀야 하는 부분이 있었지만 제가 고민하던 부분은 크게 해결이 되었네요. 포스팅도 수정을 해야겠군요. 오해가 퍼지지 않도록....
다시한번 잘못된 점을 지적해 주셔서 감사합니다. 하마터면 힘들게 교육다받고 실버라이트를 버릴뻔했네요. ㅎㅎ
안녕하세요
제가 Flex교육을 신청했다가 .Net 기반이 아니라고 하여 실버라이트 교육을 찾고 있는데요..
아웃사이더님은 어느곳에서 교육을 받은것인지요? 교육을 찾기가 힘들어서 댓글 남깁니다..
알려주세요~~~
저는 직장인 환급과정으로 들었는데요. SIST쌍용에서 들었습니다.
http://www.sist.co.kr/
지금 들어가보니까 실버라이트 3차 교육을 시작하네요. 내일부터라고 나와있군요.... 같은 분이 계속하시는 줄을 모르겠지만 제가 들은 분은 아시는 것도 많고 그냥 사용법만이 아니라 좀 큰그림을 그릴수 있도록 하시는게 괜찮은 편이었습니다.