Is it better to use already build plugins/extensions or code your own in programming projects [duplicate]

I am building a web app in PHP and Symfony.

Basically if we search there are plugins / extensions / bundles for almost 60% of stuff.

The advantage of using them is that you can easily get your functionality and it will be maintained by the author
and we don’t need to worry about compatibility.

But their downside is

  1. Sometimes it’s hard to do little bit customization if we want some extra behavior. In past I used some extension it work ok to start with.
    Then I wanted to do something else which i was not able to figure out and in the end i had to code my own. It was not as efficient but I had full control.

  2. Also if we depend on extension then we don’t learn much as everything is done by the extension. Then if I need to switch the language or framework and that extension is not available in that environment then again I had to scratch my head and start from scratch.

But if I don’t use them then I am thinking that I am wasting my time. I am confused what should be done?

0

Another answer already listed a good pros/cons list, and comparatively my answer will probably seem a bit simplistic, but in my mind, the choice is really simple.

If it is a simple extension with almost no time investment, do it yourself. If it is a big extension that will take one or more days to complete, then only build it yourself IF your requirements justify the expense of time. I don’t believe in pushing square plugins into a round-requirement :-p, so if the requirements of the project merit it…go custom.

Often existing plugins try to be everything to everyone and add a lot of bloat, complexity, and confusion…or it functions but is a mess programmatically and difficult to maintain, so I avoid them for anything simple. However, in the JavaScript world, something like a datetimepicker is a complex plugin that I’m not going to do myself unless requirements mandate that the existing ones don’t work for some reason, because that’s too high of a time-investment to justify the cost. Writing my own wouldn’t produce a drastically different picker, so the only point in that case would be for the experience itself.

However, it’s not always either/or. You can also have the best of both worlds for any project that is on github or similar distributed repository. Simply fork the project, configure it to meet your needs, and then pull updates from the main project into your fork when you can and your project can be dependent on the fork. As long as you don’t completely rewrite it, merges shouldn’t be too hard.

1

Some of the pros of using existing components/plugins/extensions/frameworks:

  • You don’t have to re-invent the wheel. This can save you time and money.
  • Popular components are probably well-tested, well-supported, and well-documented (in theory… hopefully)
  • Consistent behaviour across all your applications that use these components, as well as behaviour that’s consistent with other systems that use them. That could make for a better UX.
  • New developers who are familiar with a popular framework don’t have to learn your home-brewed stuff.

Some of the cons of using existing components/plugins/extensions/frameworks:

  • Existing components might not do exactly what you need or want, and customizing to get exactly what you want might be very difficult, if it’s even possible.
  • You’re not always in control of updates and dependencies. Sometimes this is a problem.
  • Exploits in popular components could expose vulnerabilities in your application.
  • If you become heavily dependent on something that is only available to one platform/language/OS/whatever, switching to something else will be difficult.

Overall, I find the pros usually outweigh the cons. I suspect many people agree, considering how popular plug-in frameworks are.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa

Is it better to use already build plugins/extensions or code your own in programming projects [duplicate]

I am building a web app in PHP and Symfony.

Basically if we search there are plugins / extensions / bundles for almost 60% of stuff.

The advantage of using them is that you can easily get your functionality and it will be maintained by the author
and we don’t need to worry about compatibility.

But their downside is

  1. Sometimes it’s hard to do little bit customization if we want some extra behavior. In past I used some extension it work ok to start with.
    Then I wanted to do something else which i was not able to figure out and in the end i had to code my own. It was not as efficient but I had full control.

  2. Also if we depend on extension then we don’t learn much as everything is done by the extension. Then if I need to switch the language or framework and that extension is not available in that environment then again I had to scratch my head and start from scratch.

But if I don’t use them then I am thinking that I am wasting my time. I am confused what should be done?

0

Another answer already listed a good pros/cons list, and comparatively my answer will probably seem a bit simplistic, but in my mind, the choice is really simple.

If it is a simple extension with almost no time investment, do it yourself. If it is a big extension that will take one or more days to complete, then only build it yourself IF your requirements justify the expense of time. I don’t believe in pushing square plugins into a round-requirement :-p, so if the requirements of the project merit it…go custom.

Often existing plugins try to be everything to everyone and add a lot of bloat, complexity, and confusion…or it functions but is a mess programmatically and difficult to maintain, so I avoid them for anything simple. However, in the JavaScript world, something like a datetimepicker is a complex plugin that I’m not going to do myself unless requirements mandate that the existing ones don’t work for some reason, because that’s too high of a time-investment to justify the cost. Writing my own wouldn’t produce a drastically different picker, so the only point in that case would be for the experience itself.

However, it’s not always either/or. You can also have the best of both worlds for any project that is on github or similar distributed repository. Simply fork the project, configure it to meet your needs, and then pull updates from the main project into your fork when you can and your project can be dependent on the fork. As long as you don’t completely rewrite it, merges shouldn’t be too hard.

1

Some of the pros of using existing components/plugins/extensions/frameworks:

  • You don’t have to re-invent the wheel. This can save you time and money.
  • Popular components are probably well-tested, well-supported, and well-documented (in theory… hopefully)
  • Consistent behaviour across all your applications that use these components, as well as behaviour that’s consistent with other systems that use them. That could make for a better UX.
  • New developers who are familiar with a popular framework don’t have to learn your home-brewed stuff.

Some of the cons of using existing components/plugins/extensions/frameworks:

  • Existing components might not do exactly what you need or want, and customizing to get exactly what you want might be very difficult, if it’s even possible.
  • You’re not always in control of updates and dependencies. Sometimes this is a problem.
  • Exploits in popular components could expose vulnerabilities in your application.
  • If you become heavily dependent on something that is only available to one platform/language/OS/whatever, switching to something else will be difficult.

Overall, I find the pros usually outweigh the cons. I suspect many people agree, considering how popular plug-in frameworks are.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa

Is it better to use already build plugins/extensions or code your own in programming projects [duplicate]

I am building a web app in PHP and Symfony.

Basically if we search there are plugins / extensions / bundles for almost 60% of stuff.

The advantage of using them is that you can easily get your functionality and it will be maintained by the author
and we don’t need to worry about compatibility.

But their downside is

  1. Sometimes it’s hard to do little bit customization if we want some extra behavior. In past I used some extension it work ok to start with.
    Then I wanted to do something else which i was not able to figure out and in the end i had to code my own. It was not as efficient but I had full control.

  2. Also if we depend on extension then we don’t learn much as everything is done by the extension. Then if I need to switch the language or framework and that extension is not available in that environment then again I had to scratch my head and start from scratch.

But if I don’t use them then I am thinking that I am wasting my time. I am confused what should be done?

0

Another answer already listed a good pros/cons list, and comparatively my answer will probably seem a bit simplistic, but in my mind, the choice is really simple.

If it is a simple extension with almost no time investment, do it yourself. If it is a big extension that will take one or more days to complete, then only build it yourself IF your requirements justify the expense of time. I don’t believe in pushing square plugins into a round-requirement :-p, so if the requirements of the project merit it…go custom.

Often existing plugins try to be everything to everyone and add a lot of bloat, complexity, and confusion…or it functions but is a mess programmatically and difficult to maintain, so I avoid them for anything simple. However, in the JavaScript world, something like a datetimepicker is a complex plugin that I’m not going to do myself unless requirements mandate that the existing ones don’t work for some reason, because that’s too high of a time-investment to justify the cost. Writing my own wouldn’t produce a drastically different picker, so the only point in that case would be for the experience itself.

However, it’s not always either/or. You can also have the best of both worlds for any project that is on github or similar distributed repository. Simply fork the project, configure it to meet your needs, and then pull updates from the main project into your fork when you can and your project can be dependent on the fork. As long as you don’t completely rewrite it, merges shouldn’t be too hard.

1

Some of the pros of using existing components/plugins/extensions/frameworks:

  • You don’t have to re-invent the wheel. This can save you time and money.
  • Popular components are probably well-tested, well-supported, and well-documented (in theory… hopefully)
  • Consistent behaviour across all your applications that use these components, as well as behaviour that’s consistent with other systems that use them. That could make for a better UX.
  • New developers who are familiar with a popular framework don’t have to learn your home-brewed stuff.

Some of the cons of using existing components/plugins/extensions/frameworks:

  • Existing components might not do exactly what you need or want, and customizing to get exactly what you want might be very difficult, if it’s even possible.
  • You’re not always in control of updates and dependencies. Sometimes this is a problem.
  • Exploits in popular components could expose vulnerabilities in your application.
  • If you become heavily dependent on something that is only available to one platform/language/OS/whatever, switching to something else will be difficult.

Overall, I find the pros usually outweigh the cons. I suspect many people agree, considering how popular plug-in frameworks are.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật