���W�FXAML�t�@�~�����ʊJ���̂��T�߁i��ҁj MVVM�p�^�[�����g�����N���X�E�^�[�Q�b�g�J�� ��i �M�V2012/01/17 |
Page1
Page2
|
�@�O���AGUI�A�v���J���ɂ����āA�قȂ�^�[�Q�b�g�ԂŃ\�[�X�E�R�[�h�����ʉ��ł��镔���ƁA�ł��Ȃ�����������Ƃ����b�������B���ʉ��ł��Ȃ��̂́A�ȉ��̂悤�ȕ����ł���B
- UI�ɐ[��������镔��
- �Z�L�����e�B�ɂ�����镔��
�@���̕ӂ���ŏ�����ӎ����č��A�N���X�E�^�[�Q�b�g�J�������₷���Ȃ邾�낤�B���ɁAXAML�t�@�~���̏ꍇ�AXAML�{.NET����iC#��VB�FVisual Basic�j���g���āA�f�[�^�E�o�C���f�B���O�Ƃ����d�g�݂Ɋ�Â����ʂ̊J���X�^�C���ɂȂ��Ă��邽�߁A�A�v���̑啔�������ʉ��ł���B
�@����́A��̓I�ȃT���v���E�A�v���iC#�j���g���āAXAML�t�@�~���Ԃł̃N���X�J���̎�@��������Ă������i���ȉ��̖{�������܂߂āAVB�̃R�[�h�͊�������j�B�T���v���͉��L�̃����N�悩��_�E�����[�h�ł���B
�@�O�l�A�ȉ��̂悤�ȗ��̂��g���B
- WPF�F Windows Presentation Foundation�BWindows�f�X�N�g�b�v������GUI�t���[�����[�N�B�{�e�ł́A�f�X�N�g�b�v�ł�.NET Framework�i�ŎQ�Ɖ\�ȃ��C�u�����E�Z�b�g�j���w���āuWPF�v�Ə����Ă���ӏ�������B
- Silverlight�F �{�e�ŒP�ɁuSilverlight�v�Ƃ����ƁA�u���E�U������Silverlight���w�����̂Ƃ���B
- WP7�F Silverlight for Windows Phone 7���w���āA�uWP7�v�Ƃ������̂��g���B
- Metro�F �uWindows 8�v�i�R�[�h�l�[���j�œ��������^�b�`�E�C���^�[�t�F�C�X�O���GUI�t���[�����[�N�B
���\�[�X�E�R�[�h���L�̕��@
�@Visual Studio�Ńv���W�F�N�g�̃^�[�Q�b�g���w�肷��ƁA�ق��̃^�[�Q�b�g����͎Q�Ƃł��Ȃ��Ȃ��Ă��܂��B�Ⴆ�AWPF���^�[�Q�b�g�ɂ����ꍇ�ASilverlight����͎Q�Ƃł��Ȃ��B
�@�������A�\�[�X�E�R�[�h�I�Ɍ���ƁA�^�[�Q�b�g�ɂ�炸�S�������悤 �ɏ����镔���͑����B�ŏI��i�Ƃ��Ă̓R�s�[���y�[�X�g���������邪�A�ێ�\�����l����ƁA�\�[�X�E�R�[�h��1�����ɂ��Ă��������B
�@����A�����̃^�[�Q�b�g�œ����\�[�X�E�R�[�h�����ʗ��p����ɂ�2�ʂ�̕��@������B
- Portable���i���ʃo�C�i�����쐬�j
- �����N�i�\�[�X�E�R�[�h���v���W�F�N�g�Ԃŋ��L�j
�@���ꂼ��ɂ��Đ������čs�����B
��Portable��
�@�O������������Ƃ���A�uPortable Class Library�v�Ƃ������̂��g���AWPF�ASilverlight�AWP7�AMetro�̂����ꂩ����Q�Ɖ\�ȃ��C�u�������쐬�ł���*1�B
*1�@�^�[�Q�b�g�i�f�X�N�g�b�v�ł�Silverlight���Ȃǁj���قȂ�Ƃ����Ă��A�Q�Ƃł��郉�C�u�����̎�ނ��ς�邾���ŁA�A�Z���u���i��DLL��EXE�F���s�\�`���j�̒��g�i�����^�f�[�^�⒆�Ԍ��ꖽ�߁j�̎d�l�͊��S�݊��ƂȂ��Ă���B�u�^�[�Q�b�g�������v�Ƃ���������Ƃ��Ċ܂܂�Ă��邾���ŁA�c��͑S�������ł���B Portable Class Library�ł́A�Q�Ɖ\�ȃN���X���A�S�Ẵ^�[�Q�b�g����g���鋤�ʕ��������Ɍ��肵�������ŁA�^�[�Q�b�g�����Ƃ��āu.NETPortable�v�Ƃ����������Ă���B |
�@Visual Studio 2010����Portable Class Library�𗘗p����ɂ́A�ȉ��̊g���@�\���C���X�g�[������K�v������i���O������Ƃ���Visual Studio 2010 SP1�����O�ɃC���X�g�[�����Ă����K�v������j�B
�@�����o�[�W�����ł���uVisual Studio 11�v�i�R�[�h�l�[���j�ł͕W���ŗ��p�ł���\�肾�B
�@�������APortable Class Library�ł́A�W�����C�u�����̂����A�ǂ̃^�[�Q�b�g�ɂ��܂܂�Ă����b�I�ȃN���X�����Q�Ƃł��Ȃ��B�P���Ȍv�Z�╶�����ō��邱�Ƃ͂Ȃ����A���̂ɂ���ẮA���C�u�����̕s���������邾�낤�B�Ⴆ�A�l�b�g���[�N�E�A�N�Z�X��摜�����Ȃǂ��s�����Ƃ���ƁA�v���̊O���������邩������Ȃ��B
�@��̓I�ɂ́A��قǁA�T���v���E�A�v�����g���Ȃ����������B
�������N
�@�\�[�X�E�R�[�h�������L�ł�������i�������̃A�Z���u�����ł��Ă������j�ꍇ�AVisual Studio�̃����N�@�\���g�����@������BFigure 1�Ɏ����悤�ɁA�m�t�@�C���̒lj��n�_�C�A���O�Łm�����N�Ƃ��Ēlj��n��I������悢�B
Figure 1 : �m�����N�Ƃ��Ēlj��n�@�\ |
���̉�ʃL���v�`���́A�m�\�����[�V���� �G�N�X�v���[���[�n�Ńv���W�F�N�g���ڂ̉E�N���b�N�E���j���[�Łm�lj��n�|�m�����̍��ڂ̒lj��n��I������ƕ\�������m�t�@�C���̒lj��n�_�C�A���O��ʂ̈ꕔ�ł���B |
�@�m�����N�Ƃ��Ēlj��n����ƁAFigure 2�Ɏ����悤�ȏ�ԂɂȂ�B
Figure 2 : �����N�Ƃ��Ēlj����ꂽ�\�[�X�E�R�[�h |
�@����ŁA����i��̐}�ł����ƁuTwitterViewModel(WPF)�v�v���W�F�N�g�j�ōs�����\�[�X�E�R�[�h�̕ύX���A��������i�uTwitterViewModel(Silverlight)�v�v���W�F�N�g�j�ɑ����ɔ��f�����悤�ɂȂ�B
��Project Linker
�@1�t�@�C�����m�����N�Ƃ��Ēlj��n����̂͂��Ȃ�ʓ|�ȍ�ƂƂȂ�B���Ƃ����āA�v���O������������x�ł����Ƃ���ň�C�ɒlj����悤�Ƃ���ƁA�u�g����Ǝv���ď����Ă����N���X������Silverlight�̃N���X�E���C�u�����ɂ͂Ȃ������v�Ƃ����悤�Ȋ��Ⴂ�Ɍォ��C�t���Ƃ����悤�Ȃ��Ƃ��N���蓾��B
�@�����ŕ֗��Ȃ̂��A�uProject Linker�v�Ƃ���Visual Studio�g���ł���B
�@Project Linker���g���ƁAFigure 3�Ɏ����悤�ɁA�i�\�����[�V�������ɂ���j�v���W�F�N�g�ԂŃ\�[�X�E�t�@�C���������I�Ƀ����N���邱�Ƃ��ł���B
���T���v���E�A�v��
�@����������̓I�Ȑ��������邽�߂̃T���v���E�A�v���Ƃ��āA����́A�ȈՓI��Twitter�N���C�A���g���쐬�����BFigure 4�ɁA�쐬�����A�v����WPF�ł̉�ʃL���v�`���������B
Figure 4 : �T���v���E�A�v���̉�ʃL���v�`�� |
�@����Ɠ��l�̂��̂��ASilverlight��WP7�ł��쐬���Ă���BMetro�́A�uVisual Studio 11�v���K�v�ɂȂ�̂ō���̓T���v���Ɋ܂߂Ȃ��������A���l�̎菇��Metro�ł���邱�Ƃ��e�Ղ��낤�B
�@���Ȃ݂ɁATwitter�N���C�A���g�̍����́ARIA�A�[�L�e�N�`��������ł̔��㎁�̃T���v���E�A�v���ƁAReactiveOAuth�̃R�[�h���Q�l�ɂ����Ă�����Ă���B
���v���W�F�N�g�\��
�@���̃T���v���E�A�v���ł́AFigure 5�Ɏ����悤�ȃv���W�F�N�g�\�����̂��Ă���B
Figure 5 : �N���X�J���p�̃v���W�F�N�g�\���̗� |
�@������MVVM�iModel-View-ViewModel�j�p�^�[�����g���Ă��āA
- Model�̑啔����Portable Class Library��
- ViewModel�́AProject Linker���g����100���\�[�X�E�R�[�h���L
- �c���View�̂݁A�ʂɍ쐬
�Ƃ����\���ɂȂ��Ă���B
�@MVVM�p�^�[�����̂ɂ��Ă̏ڍׂ́A�u�A�ځFWPF�����v���Q�Ƃ��Ăق����B
���R�[�h�䗦
�@.cs�t�@�C����.xaml�t�@�C���̍s���i��s�A�R�����g�s�͏����j�́AFigure 6�Ɏ����Ƃ���ł���B
Figure 6 : �\�[�X�E�R�[�h�̍s�� |
�@WPF�̏ꍇ�ŁA�����ނˈȉ��̔䗦�ƂȂ��Ă���B
- Portable�����������F ��45��
- 100�������N���Ă��镔���F ��35��
- �ʂɏ����������F ��20��
�@�ʕ����́A��������Visual Studio����������e���v���[�g�̎��_�ōs���������A���ۂɎ����ŏ����������͂����Ə��Ȃ��BSilverlight��WP7�̍s���������̂��A���������e���v���[�g�̍s�����������ƂɋN������B
�@�܂��A�ʂɏ����������ł́A�R�s�[���y�[�X�g�����R�[�h�������B�������������č������N���i��ViewModel���j�Ɉڂ������������邾�낤�B�����₷���Ƃ̌��ˍ���������̂ŁA������x�͑Ë����Ă���B
�@���Ȃ݂ɁAXAML�R�[�h�Ɋւ��Ă̓����N�ł��Ȃ��i�m�����N�Ƃ��Ēlj��n�����ꍇ�A���\�[�X�̃p�X�������Đ�����XAML�R�[�h��ǂݍ��߂Ȃ��j���߁A�R�s�[���y�[�X�g���B��̃\�[�X�E�R�[�h���L��i�ƂȂ�B
��MVVM�p�^�[��
�@���������T���v���E�A�v���ŁA�ʃv���W�F�N�g�ƃ����N�E�v���W�F�N�g�̋�肪�A�����ނ�View��ViewModel�̋��E�ɂȂ��Ă���_�͋������Ă��������BMVVM�p�^�[�����g���ƁA�\�[�X�E�R�[�h���L�ł��镔���Ƃł��Ȃ����������R�ɕ������₷���B
�@�����A��������Ƃ���MVVM�p�^�[�����̗p����ꍇ�A�W�����C�u���������ł͋@�\���s�����Ă��āA����Ɗ����邾�낤�B�K���AMVVM�J����⏕���邽�߂̃��C�u����������������ANuGet����ē���\���B����́AMVVM Light Toolkit�Ƃ������C�u�����𗘗p�����B
�@���߂���́APortable�v���W�F�N�g�i��Portable Class Library���ł��镔���j�A�����N�E�v���W�F�N�g�i�������N�Ń\�[�X�E�R�[�h���L�ł��镔���j�A�ʃv���W�F�N�g�i���ʂɍ�镔���j���ꂼ��ɂ��Đ������Ă������B
�@INDEX | ||
�@ | ���W�FXAML�t�@�~�����ʊJ���̂��T�߁i�O�ҁj | |
�@ | WINDOWS 8�����GUI�J�����l���� | |
�@ | 1�D�gXAML�t�@�~���h�^GUI�t���[�����[�N�̕��� | |
�@ | 2�D��ѐ��̂���J���X�^�C���^XAML�t�@�~���Ԃ̍� | |
�@ | 3�DWinRT | |
�@ | ||
�@ | ���W�FXAML�t�@�~�����ʊJ���̂��T�߁i��ҁj | |
�@ | MVVM�p�^�[�����g�����N���X�E�^�[�Q�b�g�J�� | |
1�D�\�[�X�E�R�[�h���L�̕��@�^�T���v���E�A�v�� | ||
�@ | 2�DPortable�v���W�F�N�g�^�����N�E�v���W�F�N�g�^�ʃv���W�F�N�g | |
- ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
�@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă��� - ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
�@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤 - ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
�@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J�����v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg���� - Presentation Translator �i2017/7/18�j
�@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
|
|
- - PR -