AS3 не лучше, чем AS2
Я не совсем понимаю всю эту штуковину AS2 ... я знаю лишь очень немногих людей, которые, кажется, действительно понимают большие возможности AS2 ... AS2 можно сравнить с Ruby, тогда как AS3 - это именно то, где Java было 10 лет назад ... да, это медленно, но гораздо мощнее и выразительнее, чем AS3 ... я не знаю ни о каких фундаментальных возможностях AS3 и AS2 (не путайте язык и API), кроме правильной обработки ошибок ... по теме, не связанной с другими вопросами, я недавно углубился в детали ... AS3 имеет доступ к гораздо большему API, но большинство важных вещей - это то, что вам не нужно в бизнесе приложение ...
AS2 может быть очень производительным и элегантным, если вы действительно используете его в полной мере ... если вы хотите иметь такую же гибкость в AS3, как и в AS2 (или, по крайней мере, в наилучшем приближении, которое вы можете получить), вы обнаружит, что большая часть вашего ускорения выполнения кода выходит за пределы окна ...
Не использовать AS3
Я серьезно ... Если вы хотите нацелиться на AVM2, используйте либо Flex через MXML с наименьшим возможным количеством AS3, либо Haxe ... используйте Flex, если быстро разработка важна для вас, и Хэкс, если это больше касается производительности (ну, есть и другие причины, чтобы сделать это, но они более субъективны, я думаю) ...
до сегодняшнего дня AS3 был тупиком ... язык не изменился с тех пор, как он был представлен ... конечно, у flashplayer появились новые функции, но AS3 осталась AS3 с момента его выпуска 3 года назад, за исключением Vector, что является довольно странной вещью ... вы можете заметить, что потребовалось 3 года от AS1 до AS2 и еще 3 от AS2 до AS3 ... и это действительно время для AS4, но Adobe, похоже, не работать над чем-то подобным ... вместо этого они все больше и больше фокусируются на расширении своей палитры продуктов ...
Что делать?
подтекстом у меня сложилось впечатление, что у вас есть около 100000 строк кода для спагетти ... так что настоящая проблема - это код, а не язык ... вам нужно переписать ... если вы считаете, что это имеет смысл , вы даже можете переписать его в AS2 (хотя я все же рекомендую использовать Haxe) ... единственное, что можно использовать в AS2, это то, что вы можете скопировать и вставить некоторые реализации, если вам повезет ... но вы на самом деле нужно просто создать чистое приложение с нуля, используя лучшее из того, что обеспечивает используемый вами язык, являясь подмножеством OOP, AOP и FP (Haxe / AVM1 допускает все эти вещи) или декларативный подход, разрешенный MXML ...
за исключением очевидной проблемы, которая заключается в стоимости, нет смысла в переписывании ... профессионал в том, что вы получаете лучшую кодовую базу, которая более удобна в обслуживании, гибка и, возможно, даже работает лучше, или, по крайней мере, это облегчает профилирование и последующую оптимизацию ...
выразительность языка является фактором, когда речь идет о написании хорошего кода, просто потому, что разработчики ленивы, но, кроме этого, он не влияет ни на что, кроме производительности и производительности ...
Когда дело доходит до клиентов ...
... я бы посоветовал вам сказать им простую правду: у них может быть программное обеспечение, которое обеспечивает фиксированный набор функций по наименьшей возможной цене (что, вероятно, то, что у них есть сейчас, в вашем случае), или у них может быть гибкое / расширяемое / хорошо разработанное программное обеспечение ... и даже если они выберут последнее, они должны будут признать, что время от времени вам нужно делать радикальные шаги, такие как переписывание ... постоянное ухудшение кода это неоспоримое явление ... когда вы разрабатываете программное обеспечение, вы начинаете принимать решение, в каких направлениях оно может развиваться, в котором оно не может, и вы придете к точке, где неясная пачка грязных хаков добавится для реализации функциональности, которая программное обеспечение не было выложено, сделает дальнейшие расширения неэкономичными ... не стесняйтесь указывать своим клиентам, когда программное обеспечение, которое вы хотите расширить (будь то ваше или нет), это очень хороший момент для переписать, вместо того, чтобы позволить им платить за всю неэффективную работу, необходимую для добавления дополнительных функциональность, в которой они нуждаются ... стоимость программных расширений растет экспоненциально ... после переписывания эта стоимость возвращается к тому, что "близко к 0-мелкой части" ... это ваш собственный опыт, чтобы определить, в каком Смысл в том, что имеет больше смысла делать переписывание (если, на мой взгляд, для того, чтобы действительно выполнить эту оценку, необходимо просмотреть 100К строк кода, это, безусловно, хорошее время для переписывания) ... получить представление о том, что вы думаете, где программное обеспечение должно идти, что для этого нужно, и выбирать наиболее эффективный способ сделать это ...