`
开源社交系统
  • 浏览: 3140 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1

阅读更多

什么是 ThinkSNS+

09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业。这么多年累计不少客户。2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢的引入新开发概念。终于,在2016年下半年,我们决定重写这个程序,抛弃之前的每一行代码。框架上,开发人员一致性的选择了 Laravel ,并取了一个看起来像手机厂商给手机命名的名字----ThinkSNS Plus 没错就是 Plus 也就是符号 + 因为我们更希望侧重移动端,这就是 ThinkSNS+。

如何保持和 Laravel 的升级

起初没想过框架升级的问题,后来思考了一个问题,最后会不会像之前版本一样?框架难以升级?所以我们决定每周一对 laravel/laravel 的 master 分支进行合并,为了表示对 Taylor Otwell 以及 Laravel 贡献者的尊重,每一个 commit 在合并的时候都进行了保留。

开源协议

由于 Laravel 本身是 MIT 协议,基于 Laravel 开发,我们也希望 ThinkSNS+ 能为开源社区贡献,所以代码上没有采用私有协议,而是选择了 Apache-2.0 协议进行开源。

前端工作流

这块是一个难以选择的问题,我们希望能由内置 Laravel-Mix 的契合度,又希望构建能更适合我们的应用场景,最后,我们选择 放弃 Laravel-Mix 自己做前端构建,衍生出一个新的问题,我们又希望能和 mix 辅助函数无缝配合,看了源代码后,发现问题太简单了,就是一个 mix-manifest.json 的事情而已,但是这个东西却一波三折。

起初,我们选择在 webpack.config.babel.js 中做生成函数,配合第三方包实现,功能实现了。但是如果是拓展包接入也要使用怎么办?最后开发 webpack-laravel-mix-manifest 这个前端包,来生成这个文件。

拓展设计

首选,拓展设计目前有两个,分别是 plus-component 和 plus-plugin 其实都是由 Composer 中间插件实现。

composer 插件 zhiyicx/plus-install-plugin

plus-component

这个设计其实只是想拓展包可以快速的接入路由模板数据模型这些基础开发,也是中间插件 1.0 版本中唯一实现的拓展方式,存在了长达半年之久,可以快速的写路由、控制器、数据模型,目前我们团队出的应用拓展都是以此方式开发实现。
并封装了 php artisan component 命令安装。

plus-plugin

这是一个很年轻的 type 在 composer 插件 1.1 版本中增加的,这个拓展方式实现原理很简单,其实就是 Laravel 的 Service Provider ,熟悉 Laravel 开发都知道,这个服务门面被称之为 "Laravel 拓展" 但是安装并不方便,需要先 composer require vendor/name ,然后在 app.php 的 providers 字段中配置,然后运行命令生成配置文件等。

考虑到 ThinkSNS+ 面向的都是站长、创业者、企业集团等用户,让他们改代码?简直不如杀了他们。所以,萌生了一个想法,如何把这个步骤自动化?让用户只需要 composer require vendor/name 就完成呢?而且,对于例如广播系统的使用,很需要一个这样的东西来方便开发拓展。所以想办法把这个步骤,在 composer require 步骤完成,由此开发了这个模式。

Laravel 的拓展不能直接以这种方式使用哟,因为我们做这个的想法是把配置移交到后台配置。

接口和 SPA

接口,在初期没有完全考虑 REST ful 所以,你能会看到 URL 命名很像 REST ful 规范,实际数据却不是,后续逐步规范化。

这里提到了 API 接口,意味着一个事情,我们抛弃了传统网页,ThinkSNS+ 核心就是一个 用户中心,然后功能全部由拓展实现,目前后台、手机端 都是采用 SPA 调用接口的形式开发。


开源代码仓库:

GitHub:https://github.com/zhiyicx/thinksns-plus(点击star,每日关注开发动态。)

分享到:
评论

相关推荐

    ThinkSNS是基于Laravel开发的一个用户生态基础框架系统

    【ThinkSNS:基于Laravel构建的用户生态基础框架系统】 ThinkSNS是一款采用现代Web开发框架Laravel精心打造的用户生态基础框架系统。Laravel是PHP领域内的一款优雅、富有表达力的框架,以其出色的代码组织结构和...

    ThinkSNS + 移动端使用说明书1

    【ThinkSNS+ 移动端使用说明书】 ThinkSNS+ 是一款强大的社交网络软件,其移动端提供了丰富的功能,让用户可以在手机上轻松享受社区互动的乐趣。本说明书将详细介绍如何在移动设备上注册、登录、找回密码,以及使用...

    thinksns.zip_thinksns_thinksns+源码_thinksns源码

    这个标题“thinksns.zip_thinksns_thinksns+源码_thinksns源码”暗示了我们正在讨论的是ThinkSNS的源代码压缩包,包含完整的项目文件,可用于开发和定制。 1. **ThinkSNS系统概述**:ThinkSNS是一个基于PHP语言和...

    app端使用手册1

    收藏是ThinkSNS+移动端提供的一种功能,用户可以将自己喜欢的动态或内容添加到收藏夹中,以便日后查看。 分享是ThinkSNS+移动端提供的一种功能,用户可以将动态或内容分享到其他社交平台或应用程序中。 置顶是...

    plus:PlusPlus(ThinkSNS +)是使用Laravel构建的功能强大且易于开发的社交系统

    请看特色再加上是基于Laravel所开发的,它拥有以下的几个主要特点:跟随Laravel一起升级,但是我们放弃LTS版本,长期的框架不变,虽然会会于稳定,但是Plus是一个长期规划维护的开源项目,随时可以升级框架击败我们...

    ThinkSNS2.0改进版代码包

    - 导入数据库文件ts_2_0.sql 新增加的功能 - 新浪式的两栏页面 - 新增举报功能 - 新增敏感词过滤功能 - 热门话题的自动生成+后台手动设置 - 微博的删除为假删除 - 后台操作生成操作Log - 新增微博关注的分组功能 - ...

    ThinkSNS V4 APPThinkSNS+ PC.rar

    《ThinkSNS V4 APP与ThinkSNS+ PC:一体化社交平台深度解析》 ThinkSNS V4 APPThinkSNS+ PC是一款集成了移动端APP和PC端应用的社交软件解决方案,旨在为企业和个人用户提供全面、高效且自定义化的社交网络服务。这...

    ts社交软件使用文档

    根据提供的文件内容,TS社交软件使用文档是一份详尽的指南,涵盖了ThinkSNS+这一社交网络平台的使用细节。ThinkSNS+是一个开源的社交平台,支持多平台部署,能够满足各种互联网平台的建设需求,例如社交网站、微博...

    基于PHP的ThinkSNS开源社交系统正式版源码.zip

    总的来说,下载并研究"基于PHP的ThinkSNS开源社交系统正式版源码",不仅可以学习到如何构建一个完整的社交网络平台,还能深入理解PHP语言、Web开发的最佳实践以及如何利用开源项目进行二次开发。这对于提升个人或...

    ThinkSNS1.6源代码

    1、使用ftp工具以二进制模式,将该软件包里的 thinksns 目录及其文件上传到您的空间,假设上传后目录仍旧为 thinksns。 2、如果您使用的是Linux 或 Freebsd 服务器,先确认以下目录或文件属性为 (777) 可写模式。...

    THINK SNS源码

    1. 数据库升级脚本:在提供的文件中,如`network.sql`、`1.6_beta1_to_beta4.sql`等,这些都是数据库升级脚本,用于将THINK SNS的旧版本数据库升级到新版本。这些SQL文件包含了对数据库表结构、数据的修改和新增,...

    微信小程序版使用手册1

    ThinkSNS+微信小程序是一款基于微信平台的应用,旨在让用户能够随时随地享受社交网络服务。它包含了登录、首页浏览、动态互动、商城购物、积分赚取以及消息通知等多元化功能。通过简洁的操作界面和流畅的用户体验,...

    ThinkSNS与Ucenter的整合

    《ThinkSNS与Ucenter整合教程》 在构建社交网络平台时,经常需要将不同的应用进行集成,以实现用户统一管理、数据共享等功能。ThinkSNS是一款强大的社交网络软件,而Ucenter则是知名的用户中心解决方案。本文将详细...

    ThinkSNS_v4.6.1_开源版本_含全部技术资料

    《ThinkSNS_v4.6.1开源版本:深度解析与技术探讨》 ThinkSNS是一款功能强大的社交网络系统,其v4.6.1开源版本的发布,为开发者提供了全面的技术支持和丰富的资源,包括开源代码、技术文档、使用手册以及针对PC端和...

    基于PHP的ThinkSNS 开源社交系统正式版.zip

    开发者还需要熟悉Laravel框架,因为ThinkSNS基于此框架构建,Laravel提供了优雅的MVC设计模式,使得代码结构清晰,易于维护。 安装与部署ThinkSNS的过程相对简单,一般包括以下步骤:下载最新版本的源码,配置合适...

    ThinkSNS v1.6.21374 PHP Linux版.gz

    ThinkSNS基于许多优秀的开源软件开发,提供全方位的社交网络解决方案ThinkSNS源于办公圈项目,WEB端基于国内技术领先的ThinkPHP框架开发,另外还有IM客户端软件。  ThinkSNS全部基于开源项目,同时也作为开源项目...

    Thinksns的数据字典

    6. **版本信息**:“ThinkSNS V2.5_数据字典_V0.1.xls”这个文件名表明这是Thinksns的V2.5版本的数据字典,版本号V0.1可能代表这是该版本的初始版本,后续可能会有更新以适应系统的升级和改进。 7. **二次开发指导*...

    IOS端使用手册1

    在智艺创想的ThinkSNS+平台上,iOS端的用户界面和功能设计旨在提供流畅、高效且直观的用户体验。本手册详细介绍了如何在iOS设备上充分利用ThinkSNS+的各项功能,无论您是初次接触还是资深用户,都能从中获取必要的...

    ThinkSNS v1.6.21374 For Linux.gz

    ThinkSNS基于许多优秀的开源软件开发,提供全方位的社交网络解决方案ThinkSNS源于办公圈项目,WEB端基于国内技术领先的ThinkPHP框架开发,另外还有IM客户端软件。 ThinkSNS全部基于开源项目,同时也作为开源项目...

    thinksns仿美丽说的花世界源码+旗舰版源码+瀑布流购物分享程序

    《基于Thinksns的“花世界”源码分析与应用》 在当今互联网技术日新月异的时代,社交网络和电子商务的结合已经成为一种趋势。"thinksns仿美丽说的花世界源码+旗舰版源码+瀑布流购物分享程序"提供了一套完整的解决...

Global site tag (gtag.js) - Google Analytics