program tip

내 프로젝트와 이러한 Javascript 프레임 워크에 대해 내가 잘못한 부분은 무엇입니까?

radiobox 2020. 8. 8. 12:17
반응형

내 프로젝트와 이러한 Javascript 프레임 워크에 대해 내가 잘못한 부분은 무엇입니까?


우선, 제가 만들고 싶은 프로젝트의 가장 중요한 뼈는 단일 페이지 웹 앱으로 구현 된 위키 엔진입니다. 나는 많은 기능 추가와 함께 처음부터 사용할 수있는 기능 세트를 가질 계획입니다.

기본 기능

  • 페이지 생성 (해당 기사에 대한 위키 기사와 토론 포럼 모두 생성)
  • 마크 업 및 WYSIWYG 알라 markitup
  • 마크 업 / HTML / WYSIWYG 간의 즉각적인 변환
  • 빠른 탐색을위한 사이드 바
  • 편집 /보기를 선택하기위한 상단 도구 모음

고급 기능

  • 다른 방법을 통해 탐색 할 수있는 구성 가능한 사이드 바
  • 구성 가능한 도구 모음 (선택한 마크 업 언어 추가 가능)
  • 태그
  • 편집 가능한 할 일
  • 끌어서 놓기 파일 업로드 및 이미지 첨부

엔진은 원래 가장 기본적인 페이지 생성, 마크 업 및 WYSIWYG 편집 및 저장으로 구성됩니다. 결국 드래그 앤 드롭 이미지 지원, 파일 업로드, 라이브 데이터 그래프 및 뷰 사용자 지정을위한 사이드 바를 사용하여이 기본 엔진을 확장하고 싶습니다.

내 프로젝트의 기반이 될 괜찮은 프로젝트를 상당히 광범위하게 검색했지만 TiddlyWiki 외에는 좋은 자바 스크립트 기반 위키 엔진이없는 것 같습니다. 또한 기존 위키 엔진 위에 Jquery를 적용하는 것도 고려했지만 결국에는 결국 다시 작성하게 될 것이라고 생각합니다 (또한 내가 원하는 기능을 추가하는 것이 더 흥미 진진합니다). 어느 쪽이든 나는 자바 스크립트 라이브러리 + 프레임 워크 로이 짐승을 구현하는 데 도달했습니다.

나는 이러한 프레임 워크 중 일부를 서로 비교할 수 없다는 것을 알고 있습니다. 각 프레임 워크의 비교 가능한 부분에 대해 비교 의견 / 질문을 구성하려고 시도했지만 수정할 수 있습니다.

그래서 우리는 간다 :

내 연구와 의견을 바탕으로 목록을 아래 항목으로 좁혔습니다. 제한된 능력으로 아래 항목이 더 적합하다고 생각했기 때문에 SproutCore, corMVC, YUI 및 기타와 같은 것을 의도적으로 생략했습니다.

내 옵션


jquery / UI + backbonejs

사무용 겉옷

내가 읽은 바에 따르면이 조합은 많은 사람들이 사용하고 사랑하며 매우 유연하고 확장 가능합니다. 내 주요 관심사는이 조합이 데스크톱 지향 UI 인터페이스를 개발하기위한 최선의 출발점이 아니라는 것입니다.

UI

jQueryUI 또는 jqueryTools는 경쟁력이있을 수 있지만 확실히 다른 프레임 워크의 UI 기능과 동등하지 않은 것 같습니다. 특히 그들은 효과에 무거워 보이지만 적절한 레이아웃 슬라이싱 지원이 부족합니다.

javascriptMVC

사무용 겉옷

나에게 JavascriptMVC는 문서화 (documentJS), 기능 테스트 (funcUnit), 코드 및 종속성 관리 (stealJS)를위한 몇 가지 다른 앱과 함께 본질적으로 jquery + MVC (jqueryMX) 확장 인 것처럼 보입니다. 추가 모듈의 이점 외에도 기능적 논쟁은 실제로 backbonejs 대 jqueryMX로 귀결된다고 생각합니다. 내가 이것에 대해 정확하고 누구든지 둘 다 작업하거나 비교 한 적이 있습니까?

UI

JavascriptMVC는 Jquery에서 사용할 수있는 모든 항목에 MXUI 항목을 추가 하므로 최소한 해당 범주에서 약간의 승리라고 생각합니다.

녹아웃

사무용 겉옷

My thoughts and concerns on this on this are very similar to the jquery + backbone comments. They both seem to offer similar features but just from a different perspective. An oft cited downside is that knockoutjs couples business logic and presentation too tightly with the data-bind's and that this binding method can break down for complex UI interaction but I would love to hear why that is a non-issue.

UI

Blank at the moment

Dojo & ExtJS

Overall

I am going to combine the discussion Dojo and ExtJS because I know the least about them and they seem to play in nearly the same space. Most of the information on stackoverflow about these two seems to be out-of-date. From what I have seen is that they are both large frameworks that are good for desktop caliber app implementation. Dojo had been chided for poor documentation but that seems to be no longer the case. ExtJS of course has the commercial license, but it is really reasonable for what you get and I wouldn't hold that against it too much. The widgets in ExtJS seem to be somewhat more professionally done than Dojo, but I could certainly be corrected there. I would be interested to hear from anyone who has experience in both.

UI

Dojo has the dijit UI library ExtJS has UI features but they are not in Ext core. Here's the documentation and here are their demos

Cappuccino

Overall

And then there is Cappuccino. No CSS, no html, but also it could be tough to use existing javascript libraries. Objective-J doesn't seem to scary, especially considering that they tout being able to write plain javascript as well. The demos are impressive and seem to closely approach the UI needs for the wiki engine. The cocoa based API is a lot to take in for someone not familiar with it, but maybe it is worth it. I have heard the layout engine is not always easy to work with but a young and possibly disruptive tech like this will certainly have some shortcomings.

UI

Blank at the moment

I apologize for writing so much but hey, at least its not a x vs y vs z question hoping for tons of cheap answers. So what do you think? What should be the basis for my desktop like wiki engine, that will hopefully become more feature rich (read complex) over time?


I would suggest first coming up with specific UI requirements for your project. Which of the frameworks you've tried have you taken for a spin?

Personally, I got into ExtJS development because the projects I work on require a lot of customization of controls/widgets. ExtJS has a ton of them right out of the box and can always be extended, combined, or munged into whatever monstrosity your business requires.

ExtJS 4 also allows you to "skin" your UI's to further customize the look and feel.

If you are new to JavaScript, and are comfortable with Java, you might even look into a server-side solution such as GWT, JSF, or even Vaadin


Not sure about your timeline and resources, but when I'm trying to decide between multiple frameworks/environments, I just go ahead and try to quickly build a prototype. Even if it's just one or two major functions, I find that all the research and documentation in the world won't ever match actually trying to build something with the tools. I say take a day with each and see how far you get. That'll give you a pretty good indication of which tools are up to the task and feel most comfortable for you.


is all the rage nowadays (the most starred full-stack JavaScript framework on GitHub and Meteorpedia is a wiki engine written in Meteor.

The launch video will get you hooked by 1:28.

It's agnostic with regards to the UI, and has been tested extensively with Bootstrap and Famo.us. It also generates mobile apps from the same codebase.


Your choice of framework might not constrain your UI choices as much as you may be imagining. This recent Henri Bergius article about decoupling content management illustrates the point much better than I could -- and, incidentally, links to a pretty sweet looking pure-JavaScript (framework-independent) in-place content editor.


You are not alone!

VanillaJS and Ampersand .. are great examples of the serious drive for simpler, more modular JavaScript.

There's even a Book about it.

Simplicity is being driven by an under-rated es6 feature: Modules and the SystemJS implementation standard. It even can be used on non-es6 systems.

How cool is that!


I would say you are wrong in your overall choice of candidates as you are omitting Angular and Ember both of which are better suited than any of the other frameworks listed.

Overall, I'd say Angular.js is the framework for this one.

Emphasis on Routing

Much of what you are talking about (several sidebars for navigation, a single page app) are functions of routing, or how the front end interprets the text in your URL navigation bar.

Both Angular.js and Ember have excellent routers that allow you to accomplish everything you require without additional code.

For your benefit, here is a quick breakdown of the features in Angular that can be used to create your single page wiki

The Structure of the Site Itself

Angular has an amazing library called UI router allows you both to create custom navigation and to set up an SEO friendly structure of revealing your content. Multiple views would allow a top toolbar as well.

Ui router tutorial: http://cacodaemon.de/index.php?id=57

WYSIWYG Editor

Angular is built on live two-way binding (when you change something somewhere, it automatically changes everywhere else.) Therefore it comes packaged with a lot of features that work well with this kind of editor. A few good ones have already been made and you only need to implement them.

http://textangular.com/

Graphs and Other Neat Stuff

Angular directives are designed to do things like create Chart components that are reusable. They are not totally different than Wordpress Widgets. Many of these have already been developed and can be dropped into your Angular project.

http://www.sitepoint.com/creating-charting-directives-using-angularjs-d3-js/

Regarding Ember, I do not know much about it so I cannot speak to its particular features.


One suggestion about Backbone, if you decide to use it you should go for Marionnete since it's Backbone but with a better architectural structure and more opinionated ( i personally feel that Backbone doesn't set any guidelines and that's feels like a downside in large apps ).

I worked with it for a few months combining different js libs and doesn't get in your way like other frameworks and the message pipeline is a really good way to connect components through out the app but keep them decouple.

Here you have a great talk that made me decide for it : https://www.youtube.com/watch?v=qWr7x9wk6_c

And here you have a demo prototype that also has the drag and drop element plus other js libs connected. Would love to heard what you think about my code since i have 1.5 years working on web development... i'm still a newbie : https://github.com/Drasky-Vanderhoff/marionette-demo/

About Knockout, is really good if you want interaction with the content you already have and you won't be connecting constantly with the backend. I worked with it for 6 months and i end up needing to use a lot of other js libs for routing; plus i end up repeating a lot of the structures that Backbone and other JS Frameworks end up having. What i will say is that it won't get in your way at all and be a tool rather than a constrain. Also this was almost a year ago so a few things have changed.

One thing, if you find Knockback ( Knockout + Backbone )... avoid it, the documentation is not as good as it should be and it will take you a lot more time to learn it. If you want to go for it make a fast prototype first to see if is what you want.

참고URL : https://stackoverflow.com/questions/5186542/where-am-i-wrong-about-my-project-and-these-javascript-frameworks

반응형