Решил создать свою соцсеть для небольшой группы пользователей и конечно же, в первую очередь для практики программирования, но не знаю какие инструменты выбрать.
Значит вот непонятные моменты.
1) в качестве фреймворка выбрал Yii 2, стоит ли или лучше что-то другое?
2) сайт хочу сделать быстрым, т.е. как вконтакте, чтобы страницы не подгружались каждый раз, а только обновлялась часть страницы. Как это сделано? причем там не изменение DOM, а ссылка меняется и исходный код тоже, но такие вещи как шапка, меню не обновляются
3) диалоги. какие технологии там используются? каждую секунду ajax'ом вытаскивать из базы данные не очень удачная идея, по-моему, тоже с комментариями
1. YII боль, советую Laravel, Symphony и т.д. Вообще, если Вам нужна скорость и динамическая подгрузка, то советую посмотреть в сторону nodejs+express.
2. Это называется SPA(single page application), можно сделать по разному.
3. Используются сокеты, либо long-polling. Для примера можете посмотреть на socket.io. Там даже есть пример чата, готовый.
спасибо)) про 2 вопрос, можно ли сделать такое на angular? но момент про то, что ссылка чудом меняется, а страница не перезагружается, если это spa, остается непонятным( хотя я так понимаю, что это возможно через js?
s_sitp: да это делается через JavaScript. Можно сделать на angular, можно на react, например. В принципе, можно и на jQuery, но это будет дикое извращение.
Это называется роутинг. Ищите: "angular routing", "react routing" и т.д. На Тостере очень много вопросом на эту тему, можно искать так: "toster.ru как сделать spa angular"