Почему Far так сильно завязан на WinAPI
- progreCCor
- Posts: 84
- Joined: Wed 09 Jan, 2008 17:45
Почему Far так сильно завязан на WinAPI
Собственно вопрос для тех, кто заходит сюда не слишком часто, но ооооочень любит Far и ждет новой версии.
Итак - в чем же коренные отличия far 3.0 и что нам от него ждать?
Итак - в чем же коренные отличия far 3.0 и что нам от него ждать?
Re: В чем основные отличия Far 3.0 от Far 2.0?
Меня больше всего волнует вопрос будет ли по прежнему сильная завязка на WinApi ,просто хотелось бы уйти от нее, сделать "прослойку" для совместимости со старыми плагинами, но при этом сделать архитектуру как можно более гибкой, да я хочу увидеть far3 на linux, чтобы везде можно было пользоваться одним инструментом, а не привыкать к разным.
PS вообще бы переписал far на python (исправил опечатку) =) производительности хватит с головой, зато переносимость из коробки. И да я понимаю что будут системные особенности. но их можно вынести в плагины.
PS вообще бы переписал far на python (исправил опечатку) =) производительности хватит с головой, зато переносимость из коробки. И да я понимаю что будут системные особенности. но их можно вынести в плагины.
Last edited by spa on Sat 26 Nov, 2011 13:48, edited 1 time in total.
Re: В чем основные отличия Far 3.0 от Far 2.0?
я хочу именно far =) ну да не важно, а что по поводу WinApi, где кроме исходных кодов можно почитать, что думаю активные авторы по этому поводу.
Re: В чем основные отличия Far 3.0 от Far 2.0?
Python?spa wrote:PS вообще бы переписал far на puthon =)
Re: В чем основные отличия Far 3.0 от Far 2.0?
да, сори опечатка. но это не важно, меня интересует останется ли нелепая ( по моему мнению ) жесткая привязка к winapi, те даже в плагин апи юзаются структуры из windows.h
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: В чем основные отличия Far 3.0 от Far 2.0?
Если кому-то вдруг неочевидно - создать хороший файловый менеджер без глубокой интеграции с целевой платформой невозможно.spa wrote:я хочу именно far =) ну да не важно, а что по поводу WinApi, где кроме исходных кодов можно почитать, что думаю активные авторы по этому поводу.
В свете этого авторам не интересна идея кроссплатформенного фара даже на С++, не говоря уже о питоне, пхп или жаваскрипте.
В чем основные отличия Far 3.0 от Far 2.0?
По-поводу lfm - он GPL'ный и потому не так привлекателен, как хотелось бы. Плюс curses под винду + Python не портирован. Так что UNIX-only.2useven10 wrote:
Re: В чем основные отличия Far 3.0 от Far 2.0?
Не вижу логики, зачем завязывать PluginAPI на WinApi структурах. грубо говоря я не говорю о кросплатформенности в чистом виде, достаточно просто платформазавизимые вещи отделить от всего остального и все, в данный момет я вижу только одну проблему это завязка PluginAPI на вин WinApi , с ней не как не справиться. Пускай бы он даже осталась эта завязка, но только для совместимости. Чем фар становиться лучше если завязывается на WinAPi? Ну да ладно, я получил свой ответDrKnS wrote:Если кому-то вдруг неочевидно - создать хороший файловый менеджер без глубокой интеграции с целевой платформой невозможно.spa wrote:я хочу именно far =) ну да не важно, а что по поводу WinApi, где кроме исходных кодов можно почитать, что думаю активные авторы по этому поводу.
В свете этого авторам не интересна идея кроссплатформенного фара даже на С++, не говоря уже о питоне, пхп или жаваскрипте.
Re: В чем основные отличия Far 3.0 от Far 2.0?
Переписать не реально, но оценить проблему не помешает. Вдруг найдутся психи, которые рискнут. =) Пока прочитал (офф)топик, уже создал похожую тему http://forum.farmanager.com/viewtopic.php?f=3&t=6760DrKnS wrote:Если кому-то вдруг неочевидно - создать хороший файловый менеджер без глубокой интеграции с целевой платформой невозможно.spa wrote:я хочу именно far =) ну да не важно, а что по поводу WinApi, где кроме исходных кодов можно почитать, что думаю активные авторы по этому поводу.
Возможно, стоит упомянуть, что уже мало кто говорит про файловый менеджер для платформы. Если инструмент для пользователя, то теперь пользователю приходится общаться со многими платформами. Поэтому хороший инструмент должен быть в первую очередь кросс-платформенным и быстрым, а уже потом быть файловым менеджером. =) Python предоставляет достаточно кроссплатформенный низкоуровневый API с которым легко играть, поэтому и первая мысль - переписать на нём. Но переписывать - это нереально. Реально только оценить масштаб, чтобы избавить себя от нереальных мыслей.
Так что я бы начал Far x.0 с того, чтобы определить, какие проблемы он решает для пользователя (что он позволяет сделать). Потом брать каждую проблему начиная с самых простых, смотреть, какой способ решения конкретной проблемы он предоставляет, и как можно этот способ (и можно ли вообще) реализовать на других платформах. С таким списком, общение на форуме будет более конструктивным.
Re: В чем основные отличия Far 3.0 от Far 2.0?
структуры какие бы они ни были практически не зависят от платформы, да это и не важно, фар под винду - и в полной мере не может быть перенес на кросплатформенность - очень уж полезен и завязан на винду, да и некоторые плагины именно для винды и в другой ос будут бесполезны...spa wrote:Не вижу логики, зачем завязывать PluginAPI на WinApi структурах ...
SimSU ··· ·· -- ··· ··-
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: В чем основные отличия Far 3.0 от Far 2.0?
Лол. Т. е. если позаменять в plugin.hpp HANDLE на void*, BOOL на int, DWORD на unsigned int, а WINAPI на stdcall, то проблем не будет вообще, да?spa wrote:в данный момет я вижу только одну проблему это завязка PluginAPI на вин WinApi , с ней не как не справиться.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: В чем основные отличия Far 3.0 от Far 2.0?
Рискнуть можно, чо. Только лучше помнить, что фар - это же не браузер и не doom.techie wrote:Переписать не реально, но оценить проблему не помешает. Вдруг найдутся психи, которые рискнут. =)
Каких-то уникальных алгоритмов в нём почти нет, по большому счёту - это всего лишь такая удобная надстройка над кучей платформенных api со всякими мелкими плюшками.
Привязанность к платформе заключается отнюдь не в использовании winapi (который внутри и так для удобства практически полностью изолирован врапперами), а в самом дизайне:
- работа с атрибутами, правами доступа, именами, дисками, ссылками, потоками по определению платформозависима;
- работа с консолью (клавиатурный ввод/экранный вывод) по определению платформозависима;
- запуск процессов по определению платформозависим;
- работа с плагинами по определению платформозависима;
- и т. д.
Это как минимум половина кода, а то и больше.
Всё это нафиг не нужно на другой платформе, точно так же как бессмысленны здесь rwxrwxrwx, /, vfs и иже с ними.
Поэтому сферический кроссплатформенный файловый менеджер фактически будет не одним продуктом, а несколькими, общим у которых будет только название и некоторые абстрактные участки кода.
Как-то так.
Re: В чем основные отличия Far 3.0 от Far 2.0?
полностью согласен с вами, да там будет очень мало кода общего для всех платформ, я бы даже сказал катастрофически мало, потому что большую часть придется перенести в плагины (даже обычные файловые панели как вы правильно заметили). Но это фм, будет содержать главное, общею идею, общий внешний вид, и тому подобное. те переходя на другую платформу мы будем видеть "мир" по разному, но в привычном облике. Я даже понимаю что написать с 0 практически тоже самое что и сделать фар кроссплатформ, но один я в любом случае просто не справлюсь, а видеть фар хотел бы везде.
PS хочу заметить что для винды переписывать практически нечего не надо будет, просто перераспределить код, вынести больше в плагины или модули
PS хочу заметить что для винды переписывать практически нечего не надо будет, просто перераспределить код, вынести больше в плагины или модули
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: В чем основные отличия Far 3.0 от Far 2.0?
весьма утопичный взгляд.spa wrote:PS хочу заметить что для винды переписывать практически нечего не надо будет, просто перераспределить код, вынести больше в плагины или модули